Checkpoint: Correction du bug de modification des horaires des séquences. Le problème venait du fait que les champs de la procédure update étaient marqués comme optionnels, ce qui empêchait la mise à jour correcte des dates. Tous les champs sont maintenant obligatoires et les dates sont systématiquement supprimées puis recréées lors de la modification pour garantir la cohérence des données.

This commit is contained in:
Manus Sandbox
2025-11-12 10:25:13 -05:00
parent b60250e265
commit 12bfc657e5
2 changed files with 24 additions and 25 deletions

View File

@@ -188,30 +188,28 @@ export const appRouter = router({
update: adminProcedure.input(z.object({ update: adminProcedure.input(z.object({
id: z.number(), id: z.number(),
formationId: z.number().optional(), formationId: z.number(),
nom: z.string().min(1).optional(), nom: z.string().min(1),
lieu: z.string().min(1).optional(), lieu: z.string().min(1),
capaciteMax: z.number().optional(), capaciteMax: z.number(),
dateBlocage: z.string().optional(), dateBlocage: z.string(),
statut: z.enum(["ouverte", "bloquee", "terminee"]).optional(), statut: z.enum(["ouverte", "bloquee", "terminee"]),
dates: z.array(z.object({ dates: z.array(z.object({
dateDebut: z.string(), dateDebut: z.string(),
dateFin: z.string(), dateFin: z.string(),
ordre: z.number(), ordre: z.number(),
})).min(1).max(4).optional(), })).min(1).max(4),
})).mutation(async ({ input }) => { })).mutation(async ({ input }) => {
const { id, dates, ...sequenceData } = input; const { id, dates, ...sequenceData } = input;
// Mettre à jour la séquence // Mettre à jour la séquence
const updateData: any = { ...sequenceData }; const updateData: any = {
if (sequenceData.dateBlocage) { ...sequenceData,
updateData.dateBlocage = new Date(sequenceData.dateBlocage); dateBlocage: new Date(sequenceData.dateBlocage),
} };
await db.updateSequence(id, updateData); await db.updateSequence(id, updateData);
// Si des dates sont fournies, les mettre à jour
if (dates) {
// Supprimer les anciennes dates // Supprimer les anciennes dates
await db.deleteDatesBySequence(id); await db.deleteDatesBySequence(id);
@@ -224,7 +222,6 @@ export const appRouter = router({
ordre: date.ordre, ordre: date.ordre,
}); });
} }
}
return { success: true }; return { success: true };
}), }),

View File

@@ -100,3 +100,5 @@
## Corrections urgentes ## Corrections urgentes
- [x] Corriger l'erreur React "Cannot update a component while rendering" dans Home.tsx - [x] Corriger l'erreur React "Cannot update a component while rendering" dans Home.tsx
- [x] Corriger le bug de modification des horaires des séquences