Commit Graph

247 Commits

Author SHA1 Message Date
tristan ca8468c95d fix : le cron de bascule recalcule la vraie clôture au lieu du placeholder
LeaveRolloverCommand::resolveCarry se fiait au closing_days stocké quand
une ligne existait pour l'exercice précédent. Or closing_days n'est jamais
recalculé après création (toujours = opening, ou 0 sur un bootstrap), donc
le report propageait l'ouverture sans créditer l'acquisition de l'année.
Cas Aurore : bascule 2026->2027 aurait reporté 0 au lieu de 31.

resolveCarry calcule désormais toujours la clôture réelle via
computeDynamicClosingForYear (bootstrap-aware, intègre acquisition + samedis
+ fractionnés − pris), puis fige ce résultat dans closing_days de l'exercice
qui se termine. Vérifié sur données réelles : report 2027 d'Aurore = 31,00 j
/ 5,00 samedis (au lieu de 0).

Corrections manuelles préservées : le cron reste idempotent (ne réécrit pas
une ligne existante) et le bon levier de correction devient opening_days
(propagé par le recalcul), pas closing_days.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 11:46:17 +02:00
tristan 9635cf15ff chore : ignorer le dump local sirh.sql
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 11:43:42 +02:00
tristan 7c4dde9fd9 feat : retirer l'exercice suivant du sélecteur RTT (Congés uniquement)
Consulter un exercice RTT à venir n'a pas de sens (heures non saisies,
rien à payer). La borne haute du sélecteur RTT redevient l'exercice
courant sur une phase ouverte ; l'onglet Congés conserve l'exercice
suivant. Docs et verrouillage RTT réalignés (passé uniquement).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 11:20:54 +02:00
tristan 2418836cd1 fix : ancrer la clôture dynamique des congés sur le solde bootstrap
computeDynamicClosingForYear (qui produit le report d'ouverture de
l'exercice suivant) ignorait la table employee_leave_balances et
recalculait depuis l'embauche, sans absences historiques. Pour un
exercice consulté en avance, il cumulait donc une année pleine
d'acquisition par exercice antérieur à la mise en service.

Cas Aurore (CDI depuis 2022, bootstrap 2026 = report 32 / pris 24) :
report d'ouverture 2027 affiché à 88,39 j au lieu de 31. La vue courante
était juste car le provider, lui, lit déjà le bootstrap.

La clôture dynamique applique désormais la même règle que
EmployeeLeaveSummaryProvider::computeYearSummary : si une ligne bootstrap
existe pour l'exercice, on part de opening_days/opening_saturdays et on
ajoute l'offset taken_days/taken_saturdays, au lieu du report dynamique
accumulé. Vérifié sur données réelles : 88,39 -> 31,00 j.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 11:06:18 +02:00
tristan 7a86669878 docs : préciser que le verrouillage des éditions vaut aussi pour l'exercice futur
Suite à l'ajout de l'exercice suivant dans les sélecteurs, isHistoricalYear
(selectedYear !== currentYear) s'applique aussi à l'exercice futur. Les docs
parlaient uniquement d'exercice passé/antérieur ; clarifié pour couvrir passé
ET futur.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 10:25:09 +02:00
tristan a7fed83dda docs : sélecteurs Congés/RTT proposent l'exercice suivant
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 10:17:40 +02:00
tristan 9a65890bfd feat : proposer l'exercice suivant dans les sélecteurs Congés et RTT
Sur une phase de contrat ouverte, la borne haute des sélecteurs d'exercice
(availableLeaveYears / availableRttYears) passe de l'exercice courant à
l'exercice suivant (courant + 1), pour consulter en avance les congés/RTT
posés sur l'exercice à venir. Phase clôturée : borne inchangée (fin de phase).
Sélection par défaut et verrouillage des éditions inchangés.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 10:13:33 +02:00
tristan 41777fbd72 docs : plan d'implémentation exercice suivant Congés/RTT (SIRH-32)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 10:11:26 +02:00
tristan cfbea730d7 docs : spec exercice suivant sur sélecteurs Congés et RTT (SIRH-32)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 10:06:16 +02:00
tristan cb2db678ba fix : sélecteur d'exercice vide par défaut sur l'onglet Congés
Le watch sur le changement de phase (useEmployeeLeave/useEmployeeRtt)
remettait selectedYear à null pendant l'await du chargement eager du
récap congés, à la résolution initiale de la phase (undefined → phase
courante). Comme le chargement eager marquait ensuite leaveDataLoaded=true
et que le watch de useEmployeeDetailPage ignore la résolution initiale
(oldId === undefined), l'année restait à null et le <select> s'affichait
vide. L'onglet RTT y échappait car chargé en lazy.

Ajoute le garde oldId === undefined dans les watchs des deux composables,
même convention que useEmployeeDetailPage : la résolution initiale est
ignorée, seul un vrai changement de phase réinitialise l'année.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 10:05:25 +02:00
gitea-actions 25083f00c8 chore: bump version to v0.1.102
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 1m11s
v0.1.102
2026-05-22 06:42:46 +00:00
tristan abdaf809f8 Gestion du changement de type de contrat + correction du calcule des RTT sur un contrat qui commence en milieu de semaine (#19)
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
- [x] TU/TI/TF rédigée
- [x] TU/TI/TF OK
- [x] CHANGELOG modifié

Reviewed-on: #19
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-05-22 06:42:33 +00:00
gitea-actions b541f9ded8 chore: bump version to v0.1.101
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 38s
v0.1.101
2026-05-04 07:59:16 +00:00
tristan 47f9bea57d feat : sélecteur d'exercice sur l'onglet RTT de la fiche employé
Auto Tag Develop / tag (push) Has been cancelled
Permet de consulter les exercices passés (table hebdomadaire RTT) en
réutilisant le pattern de l'onglet Congés. Plage bornée par
max(début historique contrat, RTT_START_DATE). Bouton + Payer les RTT
verrouillé sur exercices clos. Onglet masqué pour FORFAIT (inchangé).

Backend : rttStartDate désormais toujours exposé sur EmployeeRttSummary
pour que le sélecteur conserve sa borne lors de la navigation vers un
exercice passé. Le masquage existant des lignes Report continue de
fonctionner (comparaison mois-à-mois).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 09:58:50 +02:00
tristan 7cadcfa362 feat : sélecteur d'année sur l'onglet Congés de la fiche employé
Permet de consulter les exercices passés (calendrier + compteurs) sur
l'onglet Congés. La plage proposée est bornée par max(début historique
contrat, RTT_START_DATE) pour ne pas remonter avant la mise en service
du logiciel. Édition des stocks N-1 et fractionnés verrouillée sur
exercices clos.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 09:51:19 +02:00
gitea-actions 3ec0d4b074 chore: bump version to v0.1.100
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 40s
v0.1.100
2026-04-29 15:45:14 +00:00
tristan eaf8a11e2b feat: ajout des commentaires à la semaine (#15)
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: #15
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-29 15:45:02 +00:00
gitea-actions 02fc94fbed chore: bump version to v0.1.99
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 39s
v0.1.99
2026-04-29 15:28:10 +00:00
tristan eb5910dffe feat : surlignage des jours fériés sur la vue semaine des heures
Auto Tag Develop / tag (push) Has been cancelled
Quand un employé n'a pas d'absence sur un jour férié, la cellule prend le fond bleu clair (#b3e5fc) et affiche le nom du férié au survol — cohérent avec la vue jour.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 17:27:46 +02:00
tristan 78f73ed2e9 feat : ajout des jours fériés sur l'export PDF des heures
Affiche désormais une ligne dédiée pour chaque jour férié (Lun-Ven) avec la mention "Férié : {nom}" et le total créditant les heures contractuelles, comme sur l'écran Heures.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 17:21:59 +02:00
tristan eacf52425a fix : récap salaire chauffeur, comptage des repas (déjeuner + dîner)
Un jour avec déjeuner ET dîner cochés ne comptait qu'1 repas (||) au lieu de 2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 15:27:00 +02:00
gitea-actions 6f43c3356f chore: bump version to v0.1.98
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 44s
v0.1.98
2026-04-29 09:43:56 +00:00
tristan 13eeeb9c86 feat : ajout colonne Cumul sur l'écran RTT (#18)
Auto Tag Develop / tag (push) Has been cancelled
Affiche le solde RTT à la fin de chaque semaine (report N-1 + somme
totalMinutes des semaines − paiements des mois antérieurs). Permet la
comparaison ligne à ligne avec un suivi RH externe.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

| 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: #18
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-29 09:43:46 +00:00
gitea-actions 973de2d094 chore: bump version to v0.1.97
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 56s
v0.1.97
2026-04-27 13:02:01 +00:00
tristan 74c109713c fix : malio UI
Auto Tag Develop / tag (push) Has been cancelled
2026-04-27 15:01:51 +02:00
gitea-actions 06173e7225 chore: bump version to v0.1.96
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 2m59s
v0.1.96
2026-04-27 12:08:31 +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
gitea-actions 90843dd997 chore: bump version to v0.1.95
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 31s
v0.1.95
2026-04-20 14:19:05 +00:00
tristan 8a449cf81b feat : paiement RTT en centièmes d'heures + auto-calcul bonus
Auto Tag Develop / tag (push) Has been cancelled
- Input step passé de 0.5 à 0.01 pour accepter les centièmes (xx,xx)
- Labels mis à jour "(centièmes)" au lieu de "(heures)"
- Auto-remplissage du bonus 25% (base × 0.25) et 50% (base × 0.50)
- Ligne "Payé" affiche désormais les centièmes en gris comme les autres lignes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 16:18:54 +02:00
gitea-actions 3926946a5f chore: bump version to v0.1.94
Auto Tag Develop / tag (push) Successful in 4s
Build & Push Docker Image / build (push) Successful in 33s
v0.1.94
2026-04-20 10:12:10 +00:00
tristan b9c3a8a84f [#SIRH-25] Version mobile (#16)
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: #16
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-20 10:12:05 +00:00
gitea-actions b2f6fdf222 chore: bump version to v0.1.93
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 18s
v0.1.93
2026-04-20 06:25:18 +00:00
tristan 0fe82c63c5 Merge remote-tracking branch 'origin/develop' into develop
Auto Tag Develop / tag (push) Has been cancelled
2026-04-20 08:25:11 +02:00
tristan 849d19f124 fix : autoriser docker/php/config/php.ini dans .dockerignore pour le build prod
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 08:24:39 +02:00
gitea-actions d230a252b6 chore: bump version to v0.1.92
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Failing after 6s
v0.1.92
2026-04-20 06:21:05 +00:00
tristan d46e7c04d5 fix : copier la config PHP custom (memory_limit 512M) dans l'image de prod
Auto Tag Develop / tag (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 08:20:26 +02:00
gitea-actions fe0910a661 chore: bump version to v0.1.91
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 33s
v0.1.91
2026-04-17 14:58:36 +00:00
tristan ff7566d4cd feat : export PDF heures groupé depuis la liste employés + memory_limit 256M
Auto Tag Develop / tag (push) Has been cancelled
- Nouveau endpoint GET /yearly-hours/print-all (admin, par mois uniquement)
- Service YearlyHoursExportBuilder extrait du provider existant (logique partagée)
- EmployeeYearlyHoursPrintProvider refactorisé pour utiliser le builder
- Template print-all.html.twig avec saut de page entre chaque employé
- Drawer BulkYearlyHoursDrawer avec loader "Génération en cours..."
- Bouton "Export heures" ajouté sur la page liste employés
- PHP memory_limit passé de 128M à 256M dans php.ini (nécessaire pour Dompdf multi-employés)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 16:57:58 +02:00
gitea-actions 2f25a3cd52 chore: bump version to v0.1.90
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 31s
v0.1.90
2026-04-17 09:47:42 +00:00
tristan 1fe7f2cdde feat : agence d'intérim sur les contrats INTERIM + renommage Types d'absence en Types de statut + colonne Absence en Statut
Auto Tag Develop / tag (push) Has been cancelled
- Nouvelle entité InterimAgency (table interim_agencies, API lecture seule)
- Sélecteur agence conditionnel dans les formulaires création employé et ajout contrat
- Affichage "Intérim (NomAgence)" sur la liste employés et l'historique contrat
- Date de fin obligatoire côté frontend pour CDD et INTERIM (aligné backend)
- Renommage "Types d'absence" → "Types de statut" (sidebar, page, titre)
- Renommage en-tête "Absence" → "Statut" sur les vues jour heures et conducteurs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 11:47:14 +02:00
gitea-actions 9e411be3c3 chore: bump version to v0.1.89
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 32s
v0.1.89
2026-04-17 09:05: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
gitea-actions 51bf155b0e chore: bump version to v0.1.88
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 56s
v0.1.88
2026-04-17 06:59:10 +00:00
tristan 1095421424 feat : modification des exports PDF et affichage du type de contrat sur l'écran des heures
Auto Tag Develop / tag (push) Has been cancelled
2026-04-17 08:58:58 +02:00
gitea-actions be7c16778a chore: bump version to v0.1.87
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Failing after 46s
v0.1.87
2026-04-16 13:52:31 +00:00
tristan a8fe244b5c feat : modification de la gestion des jours fériés
Auto Tag Develop / tag (push) Successful in 6s
2026-04-16 15:52:19 +02:00
gitea-actions 13c71abddc chore: bump version to v0.1.86
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 34s
v0.1.86
2026-04-14 13:55:11 +00:00
tristan 9581f9d8d9 Merge remote-tracking branch 'origin/develop' into develop
Auto Tag Develop / tag (push) Has been cancelled
2026-04-14 15:55:03 +02:00
tristan c2eaa06aff fix : écran du récap. congés ordre d'affichage + Calcule des jours ouvrés pour les FORFAIT 2026-04-14 15:54:57 +02:00
gitea-actions 187a634cc8 chore: bump version to v0.1.85
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 31s
v0.1.85
2026-04-14 13:08:56 +00:00