diff --git a/server/presenceDb.ts b/server/presenceDb.ts index 9a02d25..c44fe22 100644 --- a/server/presenceDb.ts +++ b/server/presenceDb.ts @@ -115,24 +115,27 @@ export async function getSignaturesFormateursBySequence(sequenceId: number) { const db = await getDb(); if (!db) throw new Error("Database not available"); - const { presencesFormateur } = await import("../drizzle/schema"); - const result = await db .select({ - presenceId: presencesFormateur.id, - formateurId: presencesFormateur.formateurId, - dateFormationId: presencesFormateur.dateFormationId, - periode: presencesFormateur.periode, - heurePresence: presencesFormateur.heurePresence, - modeValidation: presencesFormateur.modeValidation, - signatureUrl: presencesFormateur.signatureUrl, - signatureS3Key: presencesFormateur.signatureS3Key, + presenceId: presences.id, + formateurId: presences.formateurId, + dateFormationId: presences.dateFormationId, + periode: presences.periode, + heurePresence: presences.heurePresence, + modeValidation: presences.modeValidation, + signatureUrl: sql`${presences}.signatureUrl`, + signatureS3Key: sql`${presences}.signatureS3Key`, dateDebut: datesFormation.dateDebut, dateFin: datesFormation.dateFin, }) - .from(presencesFormateur) - .innerJoin(datesFormation, eq(presencesFormateur.dateFormationId, datesFormation.id)) - .where(eq(datesFormation.sequenceId, sequenceId)); + .from(presences) + .innerJoin(datesFormation, eq(presences.dateFormationId, datesFormation.id)) + .where( + and( + eq(datesFormation.sequenceId, sequenceId), + eq(presences.typeUtilisateur, "formateur") + ) + ); return result; } diff --git a/todo.md b/todo.md index 3088ea1..999462a 100644 --- a/todo.md +++ b/todo.md @@ -1597,12 +1597,3 @@ - [x] Corriger la logique pour utiliser la date sélectionnée par le formateur - [x] Déployer sur le serveur de recette et production - [ ] Tester avec une date passée ou future - -## Correction affichage des présences formateur dans la fenêtre des émargements - -- [x] Vérifier que la présence formateur du 03/02 après-midi est bien enregistrée dans la base de données -- [x] Identifier la requête/procédure qui récupère les émargements pour l'affichage (getSignaturesFormateursBySequence) -- [x] Analyser pourquoi les présences formateur ne sont pas incluses (lisait la table presences au lieu de presences_formateur) -- [x] Corriger la logique pour lire la table presences_formateur -- [x] Déployer sur production -- [ ] Tester l'affichage avec la présence formateur du 03/02 après-midi