Checkpoint: Ajout du template "Réinitialisation de mot de passe" (reset_password) :

- Ajout de "reset_password" à l'enum du schéma Drizzle (table emailTemplates)
- Migration SQL pour modifier l'enum dans la base de données
- Création du template dans la base de données avec un contenu par défaut approprié
- Mise à jour de la procédure tRPC emailTemplates.upsert pour utiliser les noms de colonnes français (titre, couleurPrincipale, couleurSecondaire, piedDePage)
- Mise à jour de la fonction upsertEmailTemplate dans server/db.ts pour utiliser les noms de colonnes français
- Réécriture complète de AdminEmailTemplates.tsx pour utiliser les noms de colonnes français
- Test complet de l'interface : le template s'affiche correctement, peut être modifié et prévisualisé
- Le template contient les variables {{prenom}}, {{nom}}, {{lienReinitialisation}} pour la réinitialisation de mot de passe
- Total de 9 templates d'emails maintenant disponibles (inscription, teaser, rappel, rappelJ1, rappel3-6, reset_password)
This commit is contained in:
Manus
2026-01-15 03:18:57 -05:00
parent b53801c463
commit 4dc5aff7b5
13 changed files with 2429 additions and 438 deletions

View File

@@ -1168,16 +1168,12 @@ export const appRouter = router({
upsert: adminProcedure
.input(z.object({
type: z.string(),
name: z.string(),
logoUrl: z.string().nullable(),
primaryColor: z.string(),
headerBgColor: z.string(),
headerTextColor: z.string(),
headerTitle: z.string(),
bodyContent: z.string().nullable(),
footerText: z.string().nullable(),
active: z.boolean(),
type: z.enum(["inscription", "teaser", "rappel", "rappelJ1", "rappel3", "rappel4", "rappel5", "rappel6", "reset_password"]),
titre: z.string(),
bodyContent: z.string(),
couleurPrincipale: z.string(),
couleurSecondaire: z.string(),
piedDePage: z.string().nullable(),
}))
.mutation(async ({ input }) => {
return db.upsertEmailTemplate(input);