diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 7db35a3..502e17c 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -5,7 +5,8 @@ "Bash(npx nuxi:*)", "Bash(php:*)", "Bash(docker compose:*)", - "Bash(make test:*)" + "Bash(make test:*)", + "Bash(grep:*)" ] } } diff --git a/doc/functional-rules.md b/doc/functional-rules.md index 3e31acc..ac5aae9 100644 --- a/doc/functional-rules.md +++ b/doc/functional-rules.md @@ -43,10 +43,17 @@ Documents complementaires: - Saisie par salarié et par date: - matin / après-midi / soir - pour `PRESENCE`: demi-journées matin/après-midi +- Sélecteur de temps: + - créneaux de 15 minutes uniquement (00:00, 00:15, ..., 23:45) + - saisie libre possible mais valeur vidée au blur si hors options - Calculs affichés: - `Jour`, `Nuit`, `Total` - Heures de nuit: - fenêtres `00:00-06:00` et `21:00-24:00` +- Date de modification (`updatedAt`): + - mise à jour uniquement quand un employé (`ROLE_SELF`) modifie ses propres heures + - non mise à jour lors de modifications admin ou chef de site + - affichée sous le nom de l'employé (visible admin uniquement) ## 4) Absences @@ -57,8 +64,9 @@ Documents complementaires: - Colonne absence (vue jour): - affiche le libellé - fond coloré selon le type d'absence -- Si plusieurs absences de couleurs différentes sur le même jour: - - fallback rouge +- Calendrier congés: fond coloré selon la couleur du type d'absence (`AbsenceType.color`) + - demi-journée: dégradé diagonal + - journée complète: fond plein ### Effet absence sur les heures @@ -73,7 +81,7 @@ Documents complementaires: - Si `countAsWorkedHours = true`: - `TIME`: crédit de minutes selon contrat actif du jour - - `PRESENCE`: crédit d'unités (0.5 / demi-journée) + - `PRESENCE` (forfait): aucun crédit de présence (seules les checkboxes cochées comptent) ## 5) Validations des lignes d'heures @@ -112,6 +120,7 @@ Documents complementaires: ## 7) Fériés - Les jours fériés sont identifiés et affichés +- Onglet congés: jours fériés affichés sur le calendrier avec fond `rgb(179, 229, 252)` et nom au survol - Règle courante: - absences bloquées sur jour férié - saisie d'heures autorisée diff --git a/frontend/components/employees/ContractTab.vue b/frontend/components/employees/ContractTab.vue index b464f26..a8255e8 100644 --- a/frontend/components/employees/ContractTab.vue +++ b/frontend/components/employees/ContractTab.vue @@ -86,6 +86,19 @@

La date de fin est obligatoire.

+
+ +