Checkpoint: Correction de l'affichage des présences formateur dans la fenêtre des émargements
## Problème identifié Les présences formateur validées n'apparaissaient pas dans la fenêtre des émargements. La fonction `getSignaturesFormateursBySequence()` lisait la table `presences` avec un filtre `typeUtilisateur = "formateur"`, alors que les présences formateur sont enregistrées dans une table séparée `presences_formateur`. ## Solution implémentée - Modification de `getSignaturesFormateursBySequence()` dans `presenceDb.ts` pour lire directement la table `presences_formateur` - Suppression du filtre `typeUtilisateur` devenu inutile - Correction définitive et robuste pour éviter toute récurrence ## Déploiement ✅ Serveur de production (98.71.216.234) - Compilé et redémarré ✅ Toutes les présences formateur sont maintenant visibles dans l'interface
This commit is contained in:
@@ -115,27 +115,24 @@ 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: presences.id,
|
||||
formateurId: presences.formateurId,
|
||||
dateFormationId: presences.dateFormationId,
|
||||
periode: presences.periode,
|
||||
heurePresence: presences.heurePresence,
|
||||
modeValidation: presences.modeValidation,
|
||||
signatureUrl: sql<string | null>`${presences}.signatureUrl`,
|
||||
signatureS3Key: sql<string | null>`${presences}.signatureS3Key`,
|
||||
presenceId: presencesFormateur.id,
|
||||
formateurId: presencesFormateur.formateurId,
|
||||
dateFormationId: presencesFormateur.dateFormationId,
|
||||
periode: presencesFormateur.periode,
|
||||
heurePresence: presencesFormateur.heurePresence,
|
||||
modeValidation: presencesFormateur.modeValidation,
|
||||
signatureUrl: presencesFormateur.signatureUrl,
|
||||
signatureS3Key: presencesFormateur.signatureS3Key,
|
||||
dateDebut: datesFormation.dateDebut,
|
||||
dateFin: datesFormation.dateFin,
|
||||
})
|
||||
.from(presences)
|
||||
.innerJoin(datesFormation, eq(presences.dateFormationId, datesFormation.id))
|
||||
.where(
|
||||
and(
|
||||
eq(datesFormation.sequenceId, sequenceId),
|
||||
eq(presences.typeUtilisateur, "formateur")
|
||||
)
|
||||
);
|
||||
.from(presencesFormateur)
|
||||
.innerJoin(datesFormation, eq(presencesFormateur.dateFormationId, datesFormation.id))
|
||||
.where(eq(datesFormation.sequenceId, sequenceId));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user