- YearlyHoursExportBuilder: ne plus sauter les jours de semaine vides/non saisis.
Tous les jours sous contrat sont affichés (jusqu'à aujourd'hui); seuls les
jours hors contrat restent omis. Corrige les lignes manquantes signalées par la RH.
- Templates print/print-all: gris des samedis/dimanches foncé (#f3f3f3 -> #c0c0c0).
- Docs (functional-rules, in-app, CLAUDE.md).
NB: l'export tous-salariés sur l'année peut dépasser memory_limit=256M (Dompdf) —
limitation pré-existante (déjà le cas avant ce changement), non corrigée ici.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
En-tête fusionné "Heures payés" (colspan=2) avec deux sous-colonnes 25% et
50% sous-jacentes. paid25Hours=base25Minutes, paid50Hours=base50Minutes
(bases seules, total inchangé vs l'ancienne colonne unique). buildRttPaymentMap
renvoie ['m25','m50'] par employé. Tableau passé à 20 colonnes (colspan ajustés).
PDF généré et validé sur données prod (A4 paysage, largeurs ~228mm).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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>
- 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>