Checkpoint: Correction du bug "Formateur introuvable avec cet email"
## Problème identifié La recherche du formateur par email était sensible à la casse et aux espaces, ce qui empêchait de trouver le formateur même s'il existait dans la base de données. ## Solution implémentée Modification de la logique de recherche dans `server/routers.ts` (lignes 2617-2623) : - Normalisation de l'email saisi : `trim().toLowerCase()` - Utilisation de SQL `LOWER(TRIM())` pour la comparaison en base de données - La recherche est maintenant insensible à la casse et aux espaces ## Déploiement ✅ Serveur de production (98.71.216.234) - Bundle: index-C6kRdcg-.js ✅ Application redémarrée avec PM2 Le formateur peut maintenant être trouvé quelle que soit la casse utilisée lors de la saisie de l'email.
This commit is contained in:
@@ -2614,9 +2614,10 @@ export const appRouter = router({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Récupérer le formateur par email
|
// Récupérer le formateur par email (insensible à la casse et aux espaces)
|
||||||
if (!input.email) throw new Error("Email formateur requis");
|
if (!input.email) throw new Error("Email formateur requis");
|
||||||
const formateurData = await db.select().from(formateurs).where(eq(formateurs.email, input.email)).limit(1);
|
const emailNormalized = input.email.trim().toLowerCase();
|
||||||
|
const formateurData = await db.select().from(formateurs).where(sql`LOWER(TRIM(${formateurs.email})) = ${emailNormalized}`).limit(1);
|
||||||
if (formateurData.length === 0) {
|
if (formateurData.length === 0) {
|
||||||
throw new Error("Formateur introuvable avec cet email");
|
throw new Error("Formateur introuvable avec cet email");
|
||||||
}
|
}
|
||||||
|
|||||||
17
todo.md
17
todo.md
@@ -1597,3 +1597,20 @@
|
|||||||
- [x] Corriger la logique pour utiliser la date sélectionnée par le formateur
|
- [x] Corriger la logique pour utiliser la date sélectionnée par le formateur
|
||||||
- [x] Déployer sur le serveur de recette et production
|
- [x] Déployer sur le serveur de recette et production
|
||||||
- [ ] Tester avec une date passée ou future
|
- [ ] Tester avec une date passée ou future
|
||||||
|
|
||||||
|
## Correction bug "Formateur introuvable avec cet email" - Émargement formateur
|
||||||
|
|
||||||
|
- [ ] Vérifier l'email du formateur marianne.tarrieu@gmail.com dans la table formateurs
|
||||||
|
- [ ] Vérifier l'association du formateur avec la séquence 1 de la formation test
|
||||||
|
- [ ] Analyser la logique de recherche du formateur dans routers.ts
|
||||||
|
- [ ] Corriger le problème (données ou logique)
|
||||||
|
- [ ] Déployer et tester
|
||||||
|
|
||||||
|
## Correction bug "Formateur introuvable avec cet email" - Émargement formateur
|
||||||
|
|
||||||
|
- [x] Vérifier l'email marianne.tarrieu@gmail.com dans la table formateurs de la base de données
|
||||||
|
- [x] Vérifier l'association du formateur avec la séquence 1 de la formation test
|
||||||
|
- [x] Analyser la logique de recherche du formateur dans routers.ts
|
||||||
|
- [x] Corriger le problème (recherche insensible à la casse et aux espaces)
|
||||||
|
- [x] Déployer sur production
|
||||||
|
- [ ] Tester avec marianne.tarrieu@gmail.com
|
||||||
|
|||||||
Reference in New Issue
Block a user