KatjaGlassConsulting / ApprovalBundle

A Kimai Plugin to manage weekly approval workflow
MIT License
11 stars 14 forks source link

Added CI tools, allow to use without meta-fields #7

Closed kevinpapst closed 1 year ago

kevinpapst commented 2 years ago

This is a huge PR, sorry for that!

It contains:

  1. new CI tools
  2. A new interface and service to use the bundle WITHOUT meta-fields and daily working times - fixes #4
  3. Code style and fixes

You could only use some commits if you prefer that.

First of all: I added a Github workflow to lint the entire codebase and prevent accidental code problems by using PHP-CS for code styles and phpstan for static code analysis.

I applied both tools, so big parts of the changes are "fixes".

With the changes from (2) anyone can now install the bundle and use it directly. People who want to check their working times can install the MetaField Bundle and configure the fields.

And please test it in detail, because my system has no MetaField setting for the working times. So I did not test that the refactoring did what I wanted... even though I expect that got it right .... but you never know 😁

KatjaGlassConsulting commented 2 years ago

Oh wow! Thanks a lot! I am very busy the next three weeks, but I blocked the 17th October for detailed review and testing. I expect your PR to be included in October!

kevinpapst commented 2 years ago

I know, I really sorry for that way too large PR... it's a burden, thanks for not closing it directly!

Have a look at this commit, it reduced the amount of DB queries in my dev system from ... well, see these screenshots:

Before:

Bildschirmfoto 2022-09-26 um 19 43 27

After:

Bildschirmfoto 2022-09-26 um 19 43 40

It is one of these small changes with a huge impact...

kevinpapst commented 1 year ago

Thanks for merging 👍

KatjaGlassConsulting commented 1 year ago

Thanks for this excellent PR. :)