Checkpoint: Corrections apportées à la gestion des séquences :
✅ 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.
This commit is contained in:
@@ -646,7 +646,7 @@ export default function AdminSequences() {
|
||||
{getPublicCibleLabel(sequence.publicCible)}
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell>{sequence.capaciteMax}</TableCell>
|
||||
<TableCell>{sequence.nbInscrits || 0} / {sequence.capaciteMax}</TableCell>
|
||||
<TableCell>
|
||||
<span className={`inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${getStatutBadge(sequence.statut)}`}>
|
||||
{sequence.statut}
|
||||
@@ -737,6 +737,26 @@ export default function AdminSequences() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="edit-publicCible">Public cible *</Label>
|
||||
<Select
|
||||
value={formData.publicCible}
|
||||
onValueChange={(value: "directeur" | "chef_service" | "tous" | "autre") => setFormData({ ...formData, publicCible: value })}
|
||||
>
|
||||
<SelectTrigger id="edit-publicCible">
|
||||
<SelectValue placeholder="Sélectionner le public cible" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="directeur">Directeur</SelectItem>
|
||||
<SelectItem value="chef_service">Chef de service</SelectItem>
|
||||
<SelectItem value="tous">Tous</SelectItem>
|
||||
<SelectItem value="autre">Autre</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="edit-capaciteMax">Capacité maximale *</Label>
|
||||
<Input
|
||||
|
||||
@@ -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;
|
||||
@@ -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"]),
|
||||
|
||||
5
todo.md
5
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
|
||||
|
||||
Reference in New Issue
Block a user