fix(rtt) : do not cap periodFrom at phase.startDate

The RTT week table was hiding all weeks before the phase's startDate,
so for an employee hired mid-exercise (e.g. Dylan CHABOISSON, CDD
starting 2026-03-19) March displayed only from week 12 instead of
week 9, with no visible padding for the pre-hire weeks of the exercise.

Mirrors the same fix applied to the leave provider: the exercise unit
for RTT is annual (Juin→Mai). Capping periodFrom artificially clipped
the displayed weeks. Days without a contract naturally contribute 0
minutes (no reference, no worked hours), so the cumul is correct
without the cap.

periodTo and limitDate caps at phase.endDate are preserved for closed
phases so the table doesn't extend past the phase end.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-19 15:08:29 +02:00
parent 54d9a30f71
commit 653845655f
3 changed files with 9 additions and 6 deletions

View File

@@ -39,7 +39,7 @@ Affiché quand le picker est sur une phase passée. Indique que le mode lecture
| Onglet | Effet |
|---|---|
| Congés | Recharge avec les règles de la phase. Période Juin→Mai pour non-forfait, Jan→Déc pour FORFAIT. Exercices bornés à la phase. |
| RTT | Visible ssi `phase.contractType !== FORFAIT`. Exercices bornés à la phase. |
| RTT | Visible ssi `phase.contractType !== FORFAIT`. Le tableau affiche **toujours toutes les semaines de l'exercice** (Juin→Mai). Pour une phase clôturée, `periodTo` et `limitDate` sont capés à `phase.endDate` (les semaines après la fin de phase contribuent 0 au cumul). `periodFrom` n'est pas capé : les semaines avant l'embauche ou avant le début d'une phase passée apparaissent à 0 (pas de contrat → pas de référence → 0 minute). |
| Heures, Frais, Formation, Contrat, Calendrier | Non impactés. |
## Paiements de solde sur phase passée