fix(leave) : refresh header présence on phase switch; document gap limitation

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-21 08:18:14 +02:00
parent d5565ae8c3
commit 480f2a4d4e
2 changed files with 12 additions and 1 deletions

View File

@@ -106,11 +106,14 @@ export const useEmployeeDetailPage = () => {
if (!showRttTab.value && activeTab.value === 'rtt') { if (!showRttTab.value && activeTab.value === 'rtt') {
activeTab.value = 'leave' activeTab.value = 'leave'
} }
// Recharger l'onglet courant // Recharger l'onglet courant ; sinon recharger quand même le récap congés
// pour que le libellé de présence / jours à travailler du header reste à jour.
if (activeTab.value === 'leave' && showLeaveTab.value) { if (activeTab.value === 'leave' && showLeaveTab.value) {
leave.loadLeaveData() leave.loadLeaveData()
} else if (activeTab.value === 'rtt' && showRttTab.value) { } else if (activeTab.value === 'rtt' && showRttTab.value) {
rtt.loadRttData() rtt.loadRttData()
} else if (showLeaveTab.value) {
leave.loadLeaveData()
} }
}) })

View File

@@ -426,6 +426,14 @@ final readonly class EmployeeLeaveSummaryProvider implements ProviderInterface
return $start; return $start;
} }
/**
* Début de contrat le plus ancien chevauchant [$from, $to], capé à $from.
*
* NB : ne tient pas compte des trous entre deux périodes de contrat à l'intérieur de
* l'intervalle (une période qui chevauche $from fixe l'ancre à $from même s'il existe
* un trou ensuite). Suffisant pour borner la présence au début d'emploi ; un employé
* avec un trou de contrat intra-exercice verrait les jours du trou comptés en présence.
*/
private function resolveEarliestContractStartWithinRange( private function resolveEarliestContractStartWithinRange(
Employee $employee, Employee $employee,
DateTimeImmutable $from, DateTimeImmutable $from,