From 1ab817c9ea815cc780c1ae7d8447aaf842d7446b Mon Sep 17 00:00:00 2001 From: Manus Sandbox Date: Wed, 19 Nov 2025 11:35:24 -0500 Subject: [PATCH] Checkpoint: Corrections de bugs : calendrier et taux de remplissage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ **Bugs corrigés** 1. **Calendrier de novembre vide** : Correction du nom de propriété dans AdminCalendrier.tsx - utilisation de `seq.dates` au lieu de `seq.datesFormation` pour correspondre aux données retournées par l'API 2. **Taux de remplissage toujours à 0%** : Ajout du calcul du nombre d'inscrits dans la procédure `sequences.list` (routers.ts ligne 127) - appel de `db.countInscriptionsBySequence(seq.id, 'confirmee')` pour chaque séquence Les séquences s'affichent maintenant correctement dans le calendrier et la barre de progression colorée reflète le véritable taux de remplissage avec le code couleur approprié (vert/orange/rouge). --- client/src/pages/AdminCalendrier.tsx | 4 ++-- server/routers.ts | 5 +++-- todo.md | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/client/src/pages/AdminCalendrier.tsx b/client/src/pages/AdminCalendrier.tsx index 8700f98..55462eb 100644 --- a/client/src/pages/AdminCalendrier.tsx +++ b/client/src/pages/AdminCalendrier.tsx @@ -37,8 +37,8 @@ export default function AdminCalendrier() { const getSequencesForDay = (day: Date) => { if (!sequences) return []; return sequences.filter((seq) => { - if (!seq.datesFormation || seq.datesFormation.length === 0) return false; - return seq.datesFormation.some((dateForm: any) => { + if (!seq.dates || seq.dates.length === 0) return false; + return seq.dates.some((dateForm: any) => { const dateDebut = parseISO(dateForm.dateDebut); return isSameDay(dateDebut, day); }); diff --git a/server/routers.ts b/server/routers.ts index d4f02ea..0bdba86 100644 --- a/server/routers.ts +++ b/server/routers.ts @@ -120,11 +120,12 @@ export const appRouter = router({ sequences: router({ list: adminProcedure.query(async () => { const seqs = await db.getSequences(); - // Récupérer les dates pour chaque séquence + // Récupérer les dates et le nombre d'inscrits pour chaque séquence const sequencesAvecDates = await Promise.all( seqs.map(async (seq) => { const dates = await db.getDatesBySequence(seq.id); - return { ...seq, dates }; + const nbInscrits = await db.countInscriptionsBySequence(seq.id, 'confirmee'); + return { ...seq, dates, nbInscrits }; }) ); return sequencesAvecDates; diff --git a/todo.md b/todo.md index 9adeade..9f9fcf3 100644 --- a/todo.md +++ b/todo.md @@ -282,3 +282,10 @@ - [x] Vérifier que la page AdminRappels existe et est accessible - [x] Ajouter les procédures tRPC manquantes pour les rappels - [x] Créer un rapport de vérification complet + +## Corrections de bugs - Calendrier et taux de remplissage + +- [x] Corriger l'affichage des séquences dans le calendrier de novembre (seq.dates au lieu de seq.datesFormation) +- [x] Vérifier la logique de filtrage des séquences par mois dans AdminCalendrier +- [x] Corriger le calcul du taux de remplissage (ajout de nbInscrits dans sequences.list) +- [x] Vérifier que sequences.list retourne bien le nombre d'inscrits