From b9907f9cca0278ed4377fc2408aec9f7d58434a3 Mon Sep 17 00:00:00 2001 From: Manus Sandbox Date: Wed, 19 Nov 2025 09:19:47 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Corrections=20apport=C3=A9es=20?= =?UTF-8?q?=C3=A0=20la=20gestion=20des=20s=C3=A9quences=20:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Ajout du champ "Public cible" dans le dialogue de modification des séquences - Le champ est maintenant visible et modifiable lors de l'édition d'une séquence - Support complet de l'option "Tous" ajoutée précédemment ✅ Affichage du nombre d'inscrits dans la colonne capacité - Format : "nombre d'inscrits / capacité" (ex: "5 / 12") - Mise à jour de la procédure sequences.list pour inclure le comptage des inscriptions confirmées - Mise à jour du schéma de validation pour inclure "tous" dans publicCible Les deux problèmes signalés sont maintenant corrigés et l'application est prête à l'emploi. --- client/src/pages/AdminSequences.tsx | 22 +++++++++++++++++++++- server/routers.ts | 9 +++++---- todo.md | 5 +++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/client/src/pages/AdminSequences.tsx b/client/src/pages/AdminSequences.tsx index 80558eb..4809077 100644 --- a/client/src/pages/AdminSequences.tsx +++ b/client/src/pages/AdminSequences.tsx @@ -646,7 +646,7 @@ export default function AdminSequences() { {getPublicCibleLabel(sequence.publicCible)} - {sequence.capaciteMax} + {sequence.nbInscrits || 0} / {sequence.capaciteMax} {sequence.statut} @@ -737,6 +737,26 @@ export default function AdminSequences() { /> +
+ + +
+ + +
{ 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; @@ -154,7 +155,7 @@ export const appRouter = router({ formationId: z.number(), nom: z.string().min(1), lieu: z.string().min(1), - publicCible: z.enum(["directeur", "chef_service", "autre"]), + publicCible: z.enum(["directeur", "chef_service", "tous", "autre"]), capaciteMax: z.number().default(12), dateBlocage: z.string(), statut: z.enum(["ouverte", "bloquee", "terminee"]).optional(), @@ -193,7 +194,7 @@ export const appRouter = router({ formationId: z.number(), nom: z.string().min(1), lieu: z.string().min(1), - publicCible: z.enum(["directeur", "chef_service", "autre"]), + publicCible: z.enum(["directeur", "chef_service", "tous", "autre"]), capaciteMax: z.number(), dateBlocage: z.string(), statut: z.enum(["ouverte", "bloquee", "terminee"]), diff --git a/todo.md b/todo.md index 2a6a466..6ef29d9 100644 --- a/todo.md +++ b/todo.md @@ -257,3 +257,8 @@ - [x] Mettre à jour AdminRapportPublicCible.tsx (labels et badges) - [x] Mettre à jour Inscription.tsx (mapping, affichage, logique d'alerte) - [x] Tester l'affichage dans le formulaire de création/édition de séquence + +## Corrections demandées - Gestion des séquences + +- [x] Ajouter le champ "Public cible" dans le dialogue de modification des séquences +- [x] Afficher "nombre d'inscrits / capacité" dans la colonne capacité du tableau des séquences