Checkpoint: Correction de la désactivation intempestive des rappels : les dates ne sont plus supprimées/recréées lors de la modification du formateur, seulement lors d'un réel changement de dates
This commit is contained in:
@@ -532,6 +532,25 @@ export const appRouter = router({
|
|||||||
await db.updateSequence(id, updateData);
|
await db.updateSequence(id, updateData);
|
||||||
console.log('[UPDATE SEQUENCE] Séquence mise à jour avec succès');
|
console.log('[UPDATE SEQUENCE] Séquence mise à jour avec succès');
|
||||||
|
|
||||||
|
// Récupérer les dates existantes
|
||||||
|
const existingDates = await db.getDatesBySequence(id);
|
||||||
|
console.log('[UPDATE SEQUENCE] Dates existantes:', existingDates.length);
|
||||||
|
|
||||||
|
// Comparer les dates pour détecter les changements
|
||||||
|
const datesChanged = existingDates.length !== dates.length ||
|
||||||
|
existingDates.some((existing, index) => {
|
||||||
|
const newDate = dates[index];
|
||||||
|
if (!newDate) return true;
|
||||||
|
const existingDebut = new Date(existing.dateDebut).toISOString();
|
||||||
|
const existingFin = new Date(existing.dateFin).toISOString();
|
||||||
|
const newDebut = parseLocalDateTime(newDate.dateDebut).toISOString();
|
||||||
|
const newFin = parseLocalDateTime(newDate.dateFin).toISOString();
|
||||||
|
return existingDebut !== newDebut || existingFin !== newFin;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Ne supprimer/recréer les dates que si elles ont changé
|
||||||
|
if (datesChanged) {
|
||||||
|
console.log('[UPDATE SEQUENCE] Dates modifiées, suppression et recréation');
|
||||||
// Supprimer les anciennes dates
|
// Supprimer les anciennes dates
|
||||||
await db.deleteDatesBySequence(id);
|
await db.deleteDatesBySequence(id);
|
||||||
console.log('[UPDATE SEQUENCE] Anciennes dates supprimées');
|
console.log('[UPDATE SEQUENCE] Anciennes dates supprimées');
|
||||||
@@ -547,6 +566,9 @@ export const appRouter = router({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
console.log('[UPDATE SEQUENCE] Toutes les dates ont été créées');
|
console.log('[UPDATE SEQUENCE] Toutes les dates ont été créées');
|
||||||
|
} else {
|
||||||
|
console.log('[UPDATE SEQUENCE] Dates inchangées, conservation des rappels');
|
||||||
|
}
|
||||||
|
|
||||||
return { success: true };
|
return { success: true };
|
||||||
}),
|
}),
|
||||||
|
|||||||
7
todo.md
7
todo.md
@@ -1227,4 +1227,11 @@
|
|||||||
- [x] Proposer une solution pour synchroniser ou clarifier l'usage
|
- [x] Proposer une solution pour synchroniser ou clarifier l'usage
|
||||||
- [x] Implémenter la solution (auto-création dans createUser et updateUser)
|
- [x] Implémenter la solution (auto-création dans createUser et updateUser)
|
||||||
- [x] Créer un script de migration pour les formateurs existants
|
- [x] Créer un script de migration pour les formateurs existants
|
||||||
|
- [x] Déployer sur le VPS et exécuter la migration
|
||||||
|
|
||||||
|
## Corriger la désactivation des rappels lors du changement de formateur
|
||||||
|
|
||||||
|
- [x] Identifier le code de modification de séquence qui désactive les rappels
|
||||||
|
- [x] Corriger pour ne désactiver que lors de changement de dates
|
||||||
|
- [ ] Tester la modification
|
||||||
- [ ] Déployer sur le VPS
|
- [ ] Déployer sur le VPS
|
||||||
|
|||||||
Reference in New Issue
Block a user