Checkpoint: V1.16 - Correction définitive perte de signatures lors de l'ajout de dates dans une séquence. Le frontend envoie maintenant les IDs des dates existantes pour permettre au backend de les mettre à jour au lieu de les supprimer/recréer.

This commit is contained in:
Manus
2026-02-11 08:24:34 -05:00
parent 6761044f4a
commit 69fd3f01cc
2 changed files with 12 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ import { format } from "date-fns";
import { useAuth } from "@/_core/hooks/useAuth"; import { useAuth } from "@/_core/hooks/useAuth";
interface DateFormation { interface DateFormation {
id?: number; // Optionnel car les nouvelles dates n'ont pas encore d'ID
dateDebut: string; dateDebut: string;
dateFin: string; dateFin: string;
ordre: number; ordre: number;
@@ -201,6 +202,7 @@ export default function AdminSequences() {
statut: sequence.statut || "ouverte", statut: sequence.statut || "ouverte",
formateur: sequence.formateurId?.toString() || "", formateur: sequence.formateurId?.toString() || "",
dates: (sequence.dates || []).map((d: any) => ({ dates: (sequence.dates || []).map((d: any) => ({
id: d.id, // Inclure l'ID pour que le backend puisse identifier les dates existantes
dateDebut: safeFormatDate(d.dateDebut), dateDebut: safeFormatDate(d.dateDebut),
dateFin: safeFormatDate(d.dateFin), dateFin: safeFormatDate(d.dateFin),
ordre: d.ordre || 1, ordre: d.ordre || 1,

10
todo.md
View File

@@ -1613,3 +1613,13 @@
- [x] Corriger le bug pour préserver toutes les signatures existantes (logique de mise à jour intelligente) - [x] Corriger le bug pour préserver toutes les signatures existantes (logique de mise à jour intelligente)
- [x] Déployer sur le VPS de TEST (108.143.67.56) - [x] Déployer sur le VPS de TEST (108.143.67.56)
- [ ] Tester en ajoutant une nouvelle date et vérifier que les signatures précédentes sont toujours présentes - [ ] Tester en ajoutant une nouvelle date et vérifier que les signatures précédentes sont toujours présentes
## URGENT - Les signatures sont toujours perdues sur TEST malgré la correction
- [x] Vérifier les logs du serveur TEST lors d'une modification de séquence (toutes les dates traitées comme nouvelles)
- [x] Vérifier si le frontend envoie bien les IDs des dates existantes dans la requête (NON, les IDs n'étaient pas envoyés)
- [x] Analyser le code frontend qui gère la modification de séquence (AdminSequences.tsx ligne 203-207)
- [x] Identifier pourquoi la logique de mise à jour intelligente ne fonctionne pas (frontend n'incluait pas les IDs)
- [x] Corriger définitivement le problème (ajout de id: d.id dans le mapping des dates)
- [x] Déployer et tester sur TEST
- [ ] Valider que les signatures sont bien préservées lors de l'ajout d'une date