From 94f6532ce6442582259b16afdb04b847a68c7fb0 Mon Sep 17 00:00:00 2001 From: Manus Sandbox Date: Mon, 1 Dec 2025 04:02:07 -0500 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Correction=20du=20filtrage=20des?= =?UTF-8?q?=20inscriptions=20annul=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Modification de getInscriptionsBySequence pour exclure les inscriptions avec statut "annulee" - Modification de getInscriptionsByApprenant pour exclure les inscriptions avec statut "annulee" - Ajout de l'import de la fonction ne depuis drizzle-orm - Vérification que le scheduler de rappels filtre déjà correctement (envoie uniquement aux inscriptions confirmées) --- server/db.ts | 12 +++++++++--- todo.md | 8 ++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/server/db.ts b/server/db.ts index ee01c12..89d5689 100644 --- a/server/db.ts +++ b/server/db.ts @@ -1,4 +1,4 @@ -import { eq, and, sql } from "drizzle-orm"; +import { eq, and, ne, sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/mysql2"; import { InsertUser, @@ -367,7 +367,10 @@ export async function getInscriptionsBySequence(sequenceId: number) { }) .from(inscriptions) .leftJoin(apprenants, eq(inscriptions.apprenantId, apprenants.id)) - .where(eq(inscriptions.sequenceId, sequenceId)); + .where(and( + eq(inscriptions.sequenceId, sequenceId), + ne(inscriptions.statut, 'annulee') + )); return results; } @@ -382,7 +385,10 @@ export async function getInscriptionsByApprenant(apprenantId: number) { }) .from(inscriptions) .leftJoin(sequences, eq(inscriptions.sequenceId, sequences.id)) - .where(eq(inscriptions.apprenantId, apprenantId)); + .where(and( + eq(inscriptions.apprenantId, apprenantId), + ne(inscriptions.statut, 'annulee') + )); return results; } diff --git a/todo.md b/todo.md index 6299416..62edda9 100644 --- a/todo.md +++ b/todo.md @@ -925,3 +925,11 @@ - [x] Corriger le remplacement des variables (ajout d'alias pour compatibilité) - [x] Corriger le code pour supporter les deux formats de variables ({{prenom}} et {{prenomApprenant}}) - [ ] Tester l'envoi d'un email de confirmation en production + +## Bug Inscriptions - Inscriptions annulées toujours affichées + +- [x] Analyser où les inscriptions annulées ne sont pas filtrées (affichage, emails, rappels) +- [x] Corriger getInscriptionsBySequence pour exclure les inscriptions annulées +- [x] Corriger getInscriptionsByApprenant pour exclure les inscriptions annulées +- [x] Vérifier que les rappels ne sont pas envoyés aux inscriptions annulées (déjà filtré) +- [ ] Tester l'affichage après annulation d'une inscription