From a8bd01528c48458c63c80e31d85d7aef917ec7b0 Mon Sep 17 00:00:00 2001 From: Manus Date: Mon, 19 Jan 2026 08:50:34 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Checkpoint=20saved:=20Correction?= =?UTF-8?q?=20de=20l'affichage=20incorrect=20du=20nombre=20de=20dates=20s?= =?UTF-8?q?=C3=A9lectionn=C3=A9es=20dans=20les=20rappels=20:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Problème identifié :** - L'interface affichait "3 date(s) sélectionnée(s)" alors qu'une seule date était visible - Cause : références orphelines dans la table rappelDates (dates supprimées mais associations non nettoyées) **Analyse :** - Le rappel 10 ("J+1") avait 3 dates associées : 149, 150, 151 - Les dates 149 et 150 n'existaient plus dans datesFormation - Le frontend comptait donc 3 dates au lieu d'1 seule valide **Corrections appliquées :** 1. Nettoyage des références orphelines dans rappelDates - Rappel 9 ("J+2") : 3 dates orphelines supprimées → 1 date valide - Rappel 10 ("J+1") : 2 dates orphelines supprimées → 1 date valide 2. Ajout de contraintes de clé étrangère - fk_rappelDates_rappelId avec ON DELETE CASCADE - fk_rappelDates_dateFormationId avec ON DELETE CASCADE - Prévient les références orphelines futures **Résultat :** - ✅ Comptage correct des dates sélectionnées - ✅ Suppression automatique des associations lors de suppression de dates - ✅ Intégrité référentielle garantie --- todo.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/todo.md b/todo.md index 101c8b0..901bf15 100644 --- a/todo.md +++ b/todo.md @@ -907,3 +907,11 @@ - [x] Créer le script SQL pour ajouter la colonne statut - [x] Exécuter la migration sur le VPS - [x] Déployer et tester + +## Correction affichage nombre de dates sélectionnées + +- [x] Analyser le code de la boîte de dialogue de modification des rappels +- [x] Identifier le bug de comptage des dates sélectionnées (références orphelines) +- [x] Nettoyer les références orphelines dans rappelDates +- [x] Ajouter les contraintes de clé étrangère pour éviter le problème +- [x] Tester et déployer