Checkpoint: Corrections de bugs : calendrier et taux de remplissage

 **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).
This commit is contained in:
Manus Sandbox
2025-11-19 11:35:24 -05:00
parent 4b4a885704
commit 1ab817c9ea
3 changed files with 12 additions and 4 deletions

View File

@@ -37,8 +37,8 @@ export default function AdminCalendrier() {
const getSequencesForDay = (day: Date) => { const getSequencesForDay = (day: Date) => {
if (!sequences) return []; if (!sequences) return [];
return sequences.filter((seq) => { return sequences.filter((seq) => {
if (!seq.datesFormation || seq.datesFormation.length === 0) return false; if (!seq.dates || seq.dates.length === 0) return false;
return seq.datesFormation.some((dateForm: any) => { return seq.dates.some((dateForm: any) => {
const dateDebut = parseISO(dateForm.dateDebut); const dateDebut = parseISO(dateForm.dateDebut);
return isSameDay(dateDebut, day); return isSameDay(dateDebut, day);
}); });

View File

@@ -120,11 +120,12 @@ export const appRouter = router({
sequences: router({ sequences: router({
list: adminProcedure.query(async () => { list: adminProcedure.query(async () => {
const seqs = await db.getSequences(); 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( const sequencesAvecDates = await Promise.all(
seqs.map(async (seq) => { seqs.map(async (seq) => {
const dates = await db.getDatesBySequence(seq.id); const dates = await db.getDatesBySequence(seq.id);
return { ...seq, dates }; const nbInscrits = await db.countInscriptionsBySequence(seq.id, 'confirmee');
return { ...seq, dates, nbInscrits };
}) })
); );
return sequencesAvecDates; return sequencesAvecDates;

View File

@@ -282,3 +282,10 @@
- [x] Vérifier que la page AdminRappels existe et est accessible - [x] Vérifier que la page AdminRappels existe et est accessible
- [x] Ajouter les procédures tRPC manquantes pour les rappels - [x] Ajouter les procédures tRPC manquantes pour les rappels
- [x] Créer un rapport de vérification complet - [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