From 13274ff29720ca50e0c1a942d962b4a0c290c5f5 Mon Sep 17 00:00:00 2001 From: tristan Date: Thu, 19 Feb 2026 17:44:37 +0100 Subject: [PATCH] fix : wip --- frontend/components/AbsenceFormDrawer.vue | 8 +- frontend/components/hours/HoursDayView.vue | 109 +++++- frontend/components/hours/HoursToolbar.vue | 64 +++- frontend/components/hours/HoursWeekView.vue | 16 +- frontend/composables/useHoursPage.ts | 342 +++++++++++++++++- frontend/nuxt.config.ts | 6 +- frontend/pages/absence-types.vue | 49 ++- frontend/pages/hours.vue | 87 ++++- frontend/services/absence-types.ts | 4 +- frontend/services/dto/absence-type.ts | 1 + frontend/services/dto/work-hour.ts | 17 + frontend/services/work-hours.ts | 17 +- frontend/utils/date.ts | 43 ++- migrations/Version20260218190000.php | 26 ++ src/ApiResource/WorkHourDayContext.php | 37 ++ src/ApiResource/WorkHourWeeklySummary.php | 4 +- src/Doctrine/AbsenceCollectionExtension.php | 50 +++ src/Dto/WorkHours/DayContextRow.php | 84 +++++ src/Dto/WorkHours/WorkMetrics.php | 26 ++ src/Entity/Absence.php | 44 ++- src/Entity/AbsenceType.php | 44 ++- src/Enum/HalfDay.php | 11 + src/Repository/AbsenceRepository.php | 28 +- src/Repository/WorkHourRepository.php | 23 +- src/Security/Voter/AbsenceVoter.php | 48 +++ .../WorkHours/AbsenceSegmentsResolver.php | 50 +++ .../WorkHours/WorkedHoursCreditPolicy.php | 91 +++++ src/State/AbsencePrintProvider.php | 7 +- src/State/AbsenceWriteProcessor.php | 46 +++ src/State/WorkHourDayContextProvider.php | 110 ++++++ src/State/WorkHourWeeklySummaryProvider.php | 173 ++++++--- 31 files changed, 1539 insertions(+), 126 deletions(-) create mode 100644 migrations/Version20260218190000.php create mode 100644 src/ApiResource/WorkHourDayContext.php create mode 100644 src/Doctrine/AbsenceCollectionExtension.php create mode 100644 src/Dto/WorkHours/DayContextRow.php create mode 100644 src/Dto/WorkHours/WorkMetrics.php create mode 100644 src/Enum/HalfDay.php create mode 100644 src/Security/Voter/AbsenceVoter.php create mode 100644 src/Service/WorkHours/AbsenceSegmentsResolver.php create mode 100644 src/Service/WorkHours/WorkedHoursCreditPolicy.php create mode 100644 src/State/AbsenceWriteProcessor.php create mode 100644 src/State/WorkHourDayContextProvider.php diff --git a/frontend/components/AbsenceFormDrawer.vue b/frontend/components/AbsenceFormDrawer.vue index 8535acb..580cb1d 100644 --- a/frontend/components/AbsenceFormDrawer.vue +++ b/frontend/components/AbsenceFormDrawer.vue @@ -9,6 +9,7 @@ id="employee" v-model="absenceForm.employeeId" :class="employeeFieldClass" + :disabled="props.lockEmployee" >