From c692e4cf43c3217d063a7135ddd80a0a19b81cca Mon Sep 17 00:00:00 2001 From: Matthieu Date: Fri, 29 May 2026 16:45:39 +0200 Subject: [PATCH] fix(time-tracking) : afficher toutes les time entries sans filtre projet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La vue suivi de temps tapait la GetCollection paginée de /time_entries (30 items/page) et ne lisait que la première page : sur une semaine chargée, les entrées les plus anciennes (triées startedAt DESC) étaient tronquées tant qu'aucun filtre projet ne réduisait le total sous 30. Ajout d'une GetCollection dédiée /time_entries/range non paginée, bornée par date, vers laquelle pointe désormais getByDateRange. --- frontend/services/time-entries.ts | 2 +- src/Entity/TimeEntry.php | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/services/time-entries.ts b/frontend/services/time-entries.ts index b9cccb3..f092c66 100644 --- a/frontend/services/time-entries.ts +++ b/frontend/services/time-entries.ts @@ -25,7 +25,7 @@ export function useTimeEntryService() { if (params.tag) { query['tags[]'] = `/api/task_tags/${params.tag}` } - const data = await api.get>('/time_entries', query) + const data = await api.get>('/time_entries/range', query) return extractHydraMembers(data) } diff --git a/src/Entity/TimeEntry.php b/src/Entity/TimeEntry.php index 2c5332d..b6c68a3 100644 --- a/src/Entity/TimeEntry.php +++ b/src/Entity/TimeEntry.php @@ -25,6 +25,13 @@ use Symfony\Component\Serializer\Attribute\Groups; #[ApiResource( operations: [ new GetCollection(security: "is_granted('ROLE_USER')"), + new GetCollection( + name: 'time_entries_range', + uriTemplate: '/time_entries/range', + description: 'List time entries for a bounded date range without pagination (used by the time-tracking calendar)', + paginationEnabled: false, + security: "is_granted('ROLE_USER')", + ), new GetCollection( name: 'active_time_entry', uriTemplate: '/time_entries/active',