Checkpoint: Correction de deux bugs critiques de l'émargement formateur
## Bug 1 : Erreur "inscription requise pour un apprenant" **Problème :** Le paramètre typeUtilisateur: "formateur" n'était pas passé dans l'appel à la mutation validerPresence **Solution :** Ajout du paramètre manquant dans EmargementFormateurScan.tsx (ligne 101) ## Bug 2 : Erreur "Aucune date de formation ne correspond à aujourd'hui" **Problème :** Le backend cherchait automatiquement la date du jour avec CURDATE() au lieu d'utiliser le dateFormationId sélectionné par le formateur **Solution :** Remplacement de la logique de recherche automatique par l'utilisation directe du dateFormationId fourni (routers.ts lignes 2631-2635) ## Déploiements effectués ✅ Serveur de production (98.71.216.234) - Bundle: index-C6kRdcg-.js ✅ Serveur de recette (108.143.67.56) - Bundle: index-CHmE9ro_.js Les formateurs peuvent maintenant : - Signer leur présence sans erreur d'inscription - Sélectionner n'importe quelle date de la séquence (pas seulement aujourd'hui)
This commit is contained in:
@@ -2628,24 +2628,11 @@ export const appRouter = router({
|
||||
}
|
||||
const finalSequenceId = sequenceData[0].id;
|
||||
|
||||
// Trouver automatiquement la date du jour
|
||||
const today = new Date();
|
||||
today.setHours(0, 0, 0, 0);
|
||||
const datesToday = await db
|
||||
.select()
|
||||
.from(datesFormation)
|
||||
.where(
|
||||
and(
|
||||
eq(datesFormation.sequenceId, finalSequenceId),
|
||||
sql`DATE(${datesFormation.dateDebut}) <= CURDATE()`,
|
||||
sql`DATE(${datesFormation.dateFin}) >= CURDATE()`
|
||||
)
|
||||
)
|
||||
.limit(1);
|
||||
if (datesToday.length === 0) {
|
||||
throw new Error("Aucune date de formation ne correspond à aujourd'hui");
|
||||
// Utiliser la date sélectionnée par le formateur
|
||||
if (!input.dateFormationId) {
|
||||
throw new Error("Date de formation requise");
|
||||
}
|
||||
const dateFormId = datesToday[0].id;
|
||||
const dateFormId = input.dateFormationId;
|
||||
|
||||
// Stocker la signature sur S3
|
||||
let signatureUrl: string | undefined;
|
||||
|
||||
10
todo.md
10
todo.md
@@ -1587,5 +1587,13 @@
|
||||
- [x] Analyser le code de validation dans EmargementFormateurScan.tsx
|
||||
- [x] Identifier que le paramètre typeUtilisateur n'était pas passé dans l'appel à validerPresence
|
||||
- [x] Ajouter le paramètre typeUtilisateur: "formateur" dans l'appel à la mutation
|
||||
- [ ] Déployer sur recette et production (nécessite accès SSH aux VPS)
|
||||
- [x] Déployer sur recette et production
|
||||
- [ ] Tester avec l'email marianne.tarrieu@gmail.com sur la séquence 1 du 03/02/26
|
||||
|
||||
## Correction bug "Aucune date de formation ne correspond à aujourd'hui" - Émargement formateur
|
||||
|
||||
- [x] Analyser le code de validation de la date dans routers.ts (procédure presences.valider)
|
||||
- [x] Identifier pourquoi la logique cherche automatiquement la date du jour au lieu d'utiliser dateFormationId
|
||||
- [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
|
||||
|
||||
Reference in New Issue
Block a user