Constantin Graf
8d34513bde
Prevent time entries with end before start
...
Partial updates of time entries only validated end against start if both
were part of the payload. Start and end are now also validated against the
persisted value if only one of them is sent (fixes #1189 ).
The importers now fail if the end of a time entry is before the start and
the database consistency check reports such time entries.
2026-10-09 13:23:51 +02:00
Gregor Vostrak
c994345de9
fix scramble diagnostics in goal resource and requests
2026-10-08 20:47:12 +02:00
Gregor Vostrak
63ca886154
Add goals feature for personal goals with filters
2026-10-08 20:47:12 +02:00
Constantin Graf
f01a4111b6
Fix Scramble API docs warnings
...
Remove redundant @var annotations from API resources and defer the user
access in the email unique rule of UserUpdateRequest, so rules() can be
evaluated by Scramble without route model binding. Add a test that fails
on any Scramble diagnostic and tests for the email unique rule.
2026-10-08 16:39:46 +02:00
Gregor Vostrak
bb5a7fb9f9
improve API docs
2026-10-05 17:27:04 +02:00
Constantin Graf
37579b1e5c
Updated compose dependencies
2026-09-24 10:45:18 +02:00
Constantin Graf
70646a0dd4
Add additional validation for import, Enhanced ZIP extraction in importer
2026-09-16 15:02:54 +02:00
Constantin Graf
593372bae5
Add still-running email preference
2026-08-31 12:26:02 +02:00
Gregor Vostrak
cbcd1e51f6
add break time entries and simplified time tracker ui
2026-07-28 16:52:36 +02:00
Constantin Graf
024283273a
Updated email validation to stricter config
2026-07-11 16:00:34 +02:00
Gregor Vostrak
23ea1500b0
Use an enum for tag match type
2026-06-26 14:53:37 +02:00
Gregor Vostrak
4bbde04e28
Rename tag_filter parameter to tag_match_type
2026-06-26 14:53:37 +02:00
Beda Schmid
58d7b33366
Add filter to include/exclude tags
...
[Added]
- Introduced a tag filter feature allowing users to specify whether tags should be included or excluded in time entry filters. This supports 'contains' and 'not_contains' modes.
2026-06-26 14:53:37 +02:00
Constantin Graf
6a197f7f34
Add password check to users.destroy and organizations.destroy
2026-06-18 13:27:43 +02:00
Constantin Graf
111ce94150
Add comments to events about legacy events
2026-06-18 13:27:43 +02:00
Gregor Vostrak
24875f9424
add currency to organization update endpoint
2026-06-18 13:27:43 +02:00
Gregor Vostrak
c5c129b239
add switch current organization endpoint
2026-06-18 13:27:43 +02:00
Gregor Vostrak
e29be581fa
add photo delete logic to user update endpoint
2026-06-18 13:27:43 +02:00
Constantin Graf
02da133fb3
Updated composer dependencies
2026-06-18 13:27:43 +02:00
Constantin Graf
5d744d70c4
Migrate permission away from Jetstream; Moved update user to REST API
2026-06-18 13:27:43 +02:00
Constantin Graf
a30d192ea2
Updated invitation flow, Moved jetstream function to REST endpoints; Lower case email
2026-06-18 13:27:43 +02:00
Gregor Vostrak
556bbedeca
add dynamic loading of paginated endpoints above page_limit
...
add request classes and fix collection typing for clients, tasks and tags
2026-02-18 22:32:56 +01:00
Gregor Vostrak
28fc324c6a
Allow NONE filter value to shared reports and add shared-report tests
2026-02-11 17:29:41 +01:00
Gregor Vostrak
b2af9c6bf1
Add client_ids filter to time entry export
2026-02-11 17:29:41 +01:00
Gregor Vostrak
dd75a80df7
add no project, no task, no client, no task, no tag support to the API
2026-02-11 17:29:41 +01:00
Gregor Vostrak
743c64909a
restrict time entries create endpoints for employees to only projects where they have access to
2025-12-17 12:54:07 +01:00
Gregor Vostrak
280032ee02
allow employee manage task setting to organization
2025-11-25 15:39:20 +01:00
Alexander Groß
9a1dd4861c
Extend description to 5000 chars, closes #914
2025-10-21 12:36:32 +02:00
Gregor Vostrak
19a206d57c
add prevent_overlapping_time_entries setting to organization
...
when enabled users are blocked from creating or editing new time entries that are overlapping with other time entries
2025-10-13 14:23:41 +02:00
Gregor Vostrak
38f38790d5
change font to inter, scale down fonts, improve rounding/filter elements
2025-07-17 18:38:21 +02:00
Gregor Vostrak
e3cfc155b8
add rounding frontend to reports, and support for shared reports
2025-07-17 18:38:21 +02:00
Constantin Graf
4b726635b2
Add rounding feature
2025-07-17 18:38:21 +02:00
Constantin Graf
47aa65d959
Add checks for placeholder invitation; Fixed bug in member deletion
2025-07-08 16:49:05 +02:00
Constantin Graf
ead9cf2185
Add option to delete members with relations
2025-06-30 12:54:22 +02:00
Constantin Graf
36caadeb14
Fixed time entries exports for employees
2025-05-16 13:20:23 +02:00
Constantin Graf
16fed4a2b7
Add base request class with generic rule sets
2025-05-14 21:07:54 +02:00
Constantin Graf
f1a1d2a266
Project name is now unique per client and organization
2025-04-25 17:55:29 +02:00
Constantin Graf
f5efbad703
Api docs for date time format
2025-04-25 17:55:29 +02:00
Constantin Graf
ae00fdb0e9
Add localization settings
2025-04-23 14:33:32 +02:00
Constantin Graf
ab263e725f
Fixed bugs in member endpoints; Added merge-into member endpoint
2025-03-06 14:44:11 -05:00
Constantin Graf
bbed618fdc
Added API endpoints for user API tokens
2025-02-13 17:04:18 -05:00
Constantin Graf
a4f3e014d9
Add debug flag to pdf export
2024-12-09 12:57:25 +01:00
Constantin Graf
a4d8a02b80
Updated PDF reports
2024-12-09 12:57:25 +01:00
Constantin Graf
0860aa9d24
Added shareable reports
2024-12-09 12:57:25 +01:00
Constantin Graf
c03aad1abd
Added shareable reports
2024-12-09 12:57:25 +01:00
Constantin Graf
4b622afcfc
Change logic of tags_ids filter from AND to OR
2024-11-08 13:28:26 +01:00
Constantin Graf
8712cfb9dc
Add report exports
2024-10-29 17:20:21 +01:00
Constantin Graf
b0bcc4f330
Add pdf detailed report and placeholder for aggregate endpoint
2024-10-29 17:20:21 +01:00
Constantin Graf
64535ceea6
Add report exports
2024-10-29 17:20:21 +01:00
Constantin Graf
69d3ff4f7b
Stricter validation for uuid and integer
2024-10-15 12:57:45 +02:00