Commit Graph

2 Commits

Author SHA1 Message Date
e56539f40c fix(calendar) : date-only contract filter + eager-load periods for print
Review follow-ups: (1) createFromFormat('Y-m-d') keeps the current time, so a raw
DateTime comparison wrongly excluded an employee ending on the from-day (and dropped
first-day absences); normalize from/to to day bounds and compare contract periods on
date only (Y-m-d), mirroring the calendar view. (2) eager-load contractPeriods in
findForPrintBySiteIds to avoid an N+1 during filtering. Added a boundary test.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 08:35:23 +02:00
ddd1b8116e fix(calendar) : exclude departed employees from absence PDF print
The calendar view hides employees whose contract doesn't intersect the displayed
month, but the absence PDF print still listed them. Apply the same intersection
filter (hasContractInRange over [from, to]) in AbsencePrintProvider, and reject
invalid from/to dates. A employee who left in April no longer appears on a May print.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 08:26:20 +02:00