Commit Graph

1038 Commits

Author SHA1 Message Date
Kevin Papst
77afa207e0 Allow to customize statistic queries (#5827)
* use TimesheetStatisticsQUery for all repository calls
* send event to customize statistics query
2026-02-24 13:27:48 +01:00
Kevin Papst
ff6918fcab Release 2.49 (#5820)
* bump packages
* add column summarization per customer (#5808)
* clarify database requirements
* added helper methods to fetch original expected time

Co-authored-by: GregorB54321 <34287148+GregorB54321@users.noreply.github.com>
2026-02-15 21:31:06 +01:00
Kevin Papst
4a31411d69 Release 2.48 (#5789) 2026-01-30 16:44:26 +01:00
Kevin Papst
d429c56687 Release 2.47 (#5784) 2026-01-25 09:51:22 +01:00
Kevin Papst
6a86afb5fd Release 2.46 (#5757) 2026-01-07 00:59:47 +01:00
Kevin Papst
9e87fc131b fade-out customer address (#5749) 2025-12-27 17:53:03 +01:00
Kevin Papst
5a0c783a76 added section name for meta-fields positioning (#5747) 2025-12-26 12:54:15 +01:00
Kevin Papst
7e72f144cb clarify api doc 2025-12-25 12:20:05 +01:00
Kevin Papst
3c3d6379a8 Invoice tax rates API (#5740) 2025-12-24 18:47:42 +01:00
Kevin Papst
806bb97e60 query modified_after in UTC (#5743) 2025-12-24 16:33:28 +01:00
Kevin Papst
3fcaf55d02 merge default currency settings (#5739) 2025-12-22 17:55:48 +01:00
Kevin Papst
f0e2337d67 fix dark theme was bright depending on OS settings 2025-12-22 14:24:20 +01:00
Kevin Papst
afb5a0bba4 Release 2.45 (#5721)
Co-authored-by: Henning Klein <info@henningklein.de>
2025-12-21 16:42:34 +01:00
Kevin Papst
8c1ed68817 improved dark mode, automatic theme switch (#5720) 2025-12-19 23:51:27 +01:00
Kevin Papst
595b5f4b25 Configurable rate rounding (#5734)
* added invoice hydration of the issuer object
* added "rate calculator" mode
* new config to select rounding mode
* replace static calls with dependency injection
2025-12-16 16:47:46 +01:00
Kevin Papst
a15c1e56cb Release 2.44 (#5699) 2025-11-19 14:28:54 +01:00
Kevin Papst
8a42c9640f Release 2.43 (#5694) 2025-11-14 17:41:33 +01:00
Kevin Papst
8e6764b67a Release 2.42 (#5686) 2025-11-12 16:15:04 +01:00
Kevin Papst
1a38c7d7a3 Release 2.41 (#5653) 2025-11-08 23:03:44 +01:00
Kevin Papst
636a51e721 group invoices by project and activity (#5675) 2025-11-02 12:34:41 +01:00
Kevin Papst
cc64acf0f8 Meta-fields for InvoiceTemplate, structured Customer address (#5519) 2025-11-02 11:24:17 +01:00
Kevin Papst
7937fa281a Release 2.40.0 (#5621) 2025-09-26 10:49:06 +02:00
Kevin Papst
6d78c6ba36 Configurable PDF exports (#5641) 2025-09-23 18:32:31 +02:00
Kevin Papst
a4d658b821 Release 2.39 (#5604)
* prepare audit via annotation
* default calendar slot label distance of 1h
+ replace freestyle config with dropdown
* added missing return definition in callbacks
* refactor view name handling
* dispatch calendar view changes and push them into the URL to be able to reload the poage
* bump packages
* fix timezone issue in calendar sum calculation
* fixes #5618 resetRates()
* show expected daily hours in working-contract screen
2025-08-30 11:41:17 +02:00
Kevin Papst
03dbbdc5ba added bulgarian locale (#5619) 2025-08-28 20:10:49 +02:00
Kevin Papst
24778d3ffb replace PHPUnit annotations with attributes (#5608) 2025-08-11 18:57:42 +02:00
Kevin Papst
04331420ae Release 2.38.0 (#5563) 2025-08-08 23:25:42 +02:00
Kevin Papst
dfec807166 Release 2.37 (#5546) 2025-07-04 16:43:38 +02:00
Kevin Papst
59dc82351e Release 2.36.1 (#5540)
* fix weekly hours for new entries with non-global activities
* bump packages
* prevent creating invoices with 0 entries
2025-06-16 17:53:27 +02:00
Kevin Papst
05aaa1950a configurable csv/xlsx export templates (#5531) 2025-06-11 13:06:33 +02:00
Kevin Papst
46129c7ab9 improved LDAP logging (#5517) 2025-06-07 11:48:09 +02:00
Kevin Papst
c8b4e4eabb Improve weekly hours form (#5528) 2025-06-06 15:20:00 +02:00
Kevin Papst
2f2ebd6293 Release 2.36.0 (#5514) 2025-06-02 16:07:48 +02:00
Kevin Papst
12190141d7 Release 2.35.1 (#5509)
do not trigger changes on empty time fields or empty duration
2025-05-31 15:29:43 +02:00
Kevin Papst
0420eb27c7 random improvements (#5506)
* fix order of destroying form elements
* API documentation - fixes #1949
* make command path independent
* use PhpSubprocess to execute migrations
* allow to configure optional SAML attributes
* fix deprecation
* unify wording of exported state - fixes #5392
2025-05-28 13:34:01 +02:00
Kevin Papst
81107377f4 Relax time input format requirements (#5504)
* remove locale support from time-input, only allow 12 and 24 hour format
* added blur listeners to parse all kinds of time inputs
* fix duration inputs like ":9" for 9 minutes
2025-05-28 09:36:29 +02:00
Kevin Papst
e9c172daea improve API endpoint names (#5502) 2025-05-27 13:23:08 +02:00
Kevin Papst
f42d42f512 fix searchterm parsing (#5501) 2025-05-27 13:20:27 +02:00
Kevin Papst
e69ac6968b Improved Locales (#5497)
- Switch Chinese time format to 24-hours - fixes #5496
- Use always 4 chars for year
- Use one `HH` instead of `H`, so we don't have to convert during runtime
- Update all locales
- Allow seeing time and date format in help UI
- Fix RTL in UI
- Show stats about found formats in Locales command
2025-05-26 20:59:39 +02:00
Kevin Papst
7b158d57b5 API improvements (#5494)
* hide logo in docs UI
* always return a user in api base controller
* added example for duration fields
2025-05-24 22:09:48 +02:00
Kevin Papst
1e0fbf0b73 Release 2.35 (#5470)
* open up API for plugins by removing internal
* use constants in entity column definition
* simplified entity management API
* bump packages
* allow installing assets and run database migrations independently
* bump to apidoc-bundle 5
* do not duplicate http method in API operationId
* new security entries in Open API definition
* changed API UI provider for Swagger to Stoplight, improved endpoint titles, hide internal endpoints
* deactivate swagger json endpoint
2025-05-24 14:28:39 +02:00
Kevin Papst
dfd97fd6f3 Release 2.34 (#5465)
* fix timing issue in timesheet edit form with deactivated rounding
* bump packages
* only show update messages for newer plugin versions
* replace deprecated method
* remove internal from API
* remove technical terms from translation
* prevent calls to internal symfony methods
* helper method to flag entry as modified
* support meta-fields in weekly-hourse view
* fix running timesheets were deleted in weekly-hourse
2025-05-09 14:22:47 +02:00
Kevin Papst
452a8d9390 improved search with negation (#5453) 2025-05-05 18:18:00 +02:00
Kevin Papst
e663cc2b02 Release 2.33.0 (#5438) 2025-04-22 20:43:22 +02:00
Kevin Papst
2e6b700b43 Release 2.32 (#5411)
* bump packages
* dynamic invoice options
* make sure that invoice previews can be detected
* support for mpdf associated files
* do not include any future times in work contract calculation
* re-add username column in Excel spreadsheet
* deactivate internal rate editing
* show if plugin update exists
* shorten name to Kimai only, without Time-Tracking
* remove check for existing id in work contract
* fix metafield already defined in search
* helper methods to unlock months
* new translation
* send event on unlock month
2025-04-06 09:53:48 +02:00
Kevin Papst
2a75cd6230 random improvements (#5382)
* remove permission check, as own timesheets should always be visible
* new methods to create datetime
* allow access to user roles in javascript
* support class for dropdown actions
* allow to edit internal rate
* support human readable duration in export via user configuration
* allow to order timesheet listing by user, exported and billable field
* bump codecov action
2025-03-13 18:00:50 +01:00
Kevin Papst
14cdcd3f63 Release 2.31 (#5372)
* simplify translation
* bump version
* deprecate translations
* pass date-range as argument to export and timesheet filter URL from monthly overview report
* added class for use in responsive screens
* show technical role name
* simplify multi-update title
* more statistic models
* bump composer packages
2025-02-27 17:41:25 +01:00
Kevin Papst
cce49cc409 Translation cleanup (#5370)
* use correct translation key
* de-duplicate translation
2025-02-21 20:50:49 +01:00
Kevin Papst
afaa845a9a fix export dates are not localized (#5368) 2025-02-20 15:07:28 +01:00
Kevin Papst
8a8d0503f7 prepare break time field (#5366) 2025-02-20 14:46:20 +01:00