Commit Graph

20 Commits

Author SHA1 Message Date
tristan 77ae6820d7 feat(calendar) : supprimer / modifier une plage de congés d'un coup (#34)
Auto Tag Develop / tag (push) Successful in 12s
## Contexte

Sur le calendrier, une absence est stockée **une ligne par jour** sans lien entre les jours (cf. `AbsenceWriteProcessor::expandAbsenceRange`). Conséquences pour la RH :
- **Impossible de retirer une plage** : la suppression n'effaçait que le jour cliqué → il fallait supprimer chaque jour un par un.
- **Modifier une plage laissait des incohérences** : le `PATCH` réutilisait une ligne et en recréait d'autres sans nettoyer l'ancien bloc → jours « fantômes » au raccourcissement et doublons à l'allongement.

## Changements (`frontend/pages/calendar.vue`)

- **Supprimer** (`handleDelete`) : efface **toutes** les absences de l'employé comprises dans la plage `[début ; fin]` du drawer. Flux RH : clic sur un jour → étendre la date de fin → Supprimer. Jours sans absence ignorés (aucune erreur) ; jour validé (`isValid`/site) protégé côté backend. Confirmation avec nombre de jours + intervalle.
- **Modifier** (`handleSubmit`) : **remplacement de bloc** — supprime l'ancien bloc contigu de même type (vers l'avant depuis le jour cliqué) + les absences recouvertes par la nouvelle plage, puis recrée la plage via `createAbsence`. Corrige le bug du `PATCH`. Les jours antérieurs au jour cliqué ne sont jamais touchés ; confirmation « chevauche une autre » seulement pour un autre type. `updateAbsence` n'est plus appelé depuis le calendrier.

## Pourquoi côté frontend

Le backend ne peut pas reconstituer « la plage » (aucun identifiant de groupe en BDD) ; le frontend a la plage visible. Vérifié : les écrans **Heures** et **Heures Conducteurs** verrouillent les dates du drawer (`lock-dates`), donc le `PATCH` y reste mono-jour — le calendrier est le seul écran à reshaper une plage. `AbsenceWriteProcessor` non modifié.

## Documentation

- `doc/functional-rules.md`, `frontend/data/documentation-content.ts` (in-app), `CLAUDE.md`.

## Tests

- 253 tests PHPUnit verts (hook pre-commit). Pas de framework de test frontend dans le projet.
- À valider en réel : raccourcir / allonger une plage (pas de jour fantôme ni doublon), supprimer une plage d'un coup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #34
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-06-24 14:03:16 +00:00
tristan 74abecbe03 feat(heures) : calendrier des jours validés (vue Jour) + harmonisation Malio UI (#30)
Auto Tag Develop / tag (push) Successful in 10s
## Fonctionnel
- Calendrier MalioDate en vue Jour (écrans Heures ET Heures Conducteurs) : les jours entièrement validés par un admin sont peints en vert.
  - Endpoint `GET /work-hours/validation-status?from=&to=[&driver=1]` (scope conducteur inversé via `driver=1`), périmètre complet (ignore le filtre sites).
  - Chargement à la volée par mois (event `@month-change`), refresh après validation / saisie / absence.

## Harmonisation @malio/layer-ui 1.7.11
- `reserveMessageSpace=false` sur tous les champs (alignement).
- Tous les drawers migrés sur `MalioDrawer` (titre via slot `#header`, `AppDrawer` custom supprimé).
- Boutons d'action en `MalioButton` ; deux boutons côte à côte partagent l'espace.
- Inputs date en `MalioDate`, sélecteur semaine en `MalioDateWeek`.
- Boutons d'ajout uniformisés sur « Ajouter » + icône.

## Divers
- `.env` : `EXCLUDED_PUBLIC_HOLIDAYS="null"`.
- Doc : `doc/hours-validated-days.md`, `documentation-content.ts`, `CLAUDE.md`.
- Tests : provider `WorkHourValidationStatus` (suite complète 236/236 OK via pre-commit hook).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #30
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-06-16 13:53:03 +00:00
tristan cc868a1e82 feat: ajout malio UI + décompte des jours de présence forfait (#17)
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #17
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-27 12:08:24 +00:00
tristan 90e63a463e feat : autoriser la création d'absences sur les jours fériés depuis le calendrier
Auto Tag Develop / tag (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 11:04:57 +02:00
tristan 4cd30de3e3 feat : ajout d'un onglet formation
Auto Tag Develop / tag (push) Has been cancelled
2026-04-13 09:41:36 +02:00
tristan 0cc2b2730a feat : ajout des frais kms + alignment du style de l'application
Auto Tag Develop / tag (push) Has been cancelled
2026-03-13 16:05:54 +01:00
tristan 4a2c3a8eed feat : Ajout du système de RTT sur la page employé avec le repport annuel des heures
Auto Tag Develop / tag (push) Successful in 6s
2026-03-13 10:26:33 +01:00
tristan 6395ffbe1c feat : modification des sélecteurs de date sur le calendrier
Auto Tag Develop / tag (push) Has been cancelled
2026-03-02 10:50:02 +01:00
tristan 4d90f2cb42 feat : ajout du nouveau système de contrat et ajout de filtre d'impression
Auto Tag Develop / tag (push) Successful in 5s
2026-02-26 17:15:13 +01:00
tristan 9cf978f0f2 feat : ajout des titles + update README.md
Auto Tag Develop / tag (push) Has been cancelled
2026-02-23 14:51:06 +01:00
tristan ee16779777 [#322] Page horaire (#4)
Auto Tag Develop / tag (push) Successful in 5s
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|        #322          |        Page horaire         |

## Description de la PR
[#322] Page horaire

## Modification du .env

## Check list

- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #4
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-02-20 11:23:52 +00:00
tristan 69e8d74f4d [#328] Corrections (#3)
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [x] Pas de régression
- [ ] TU/TI/TF rédigée
- [x] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #3
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-02-17 08:01:25 +00:00
tristan 0b0ca60af7 feat : ajout d'un ordre d'affichage pour les employés + ajout du drag and drop pour changer l'ordre des employés dans le calendrier et l'impression
Auto Tag Develop / tag (push) Successful in 5s
2026-02-10 16:49:03 +01:00
tristan 4b847eb1a2 feat : ajout d'un filtre sur le nom des employés et ajout du header sticky 2026-02-10 16:19:02 +01:00
tristan 2a8c874985 feat : ajout des demi-journées d'absence dans le calendrier et l'export pdf
Auto Tag Develop / tag (push) Has been cancelled
2026-02-10 16:11:09 +01:00
tristan 31c0ae15f4 feat : numéro de version et config CI/CD
Auto Tag Develop / tag (push) Failing after 4s
2026-02-09 15:40:14 +01:00
tristan c1025d6066 feat : refacto de la partie calendrier + ajout de validation sur les formulaires + ajout des jours fériés 2026-02-09 14:25:18 +01:00
tristan 03f5552dd4 feat : ajout de l'impression des tableaux d'absence 2026-02-06 16:20:09 +01:00
tristan 9568324a4a feat : ajout des sites pour les employés et retour arrière sur l'impression 2026-02-04 18:00:46 +01:00
tristan a5dcd5e3e9 feat : first commit 2026-02-03 18:04:06 +01:00