diff --git a/server/emailTemplateGenerator.ts b/server/emailTemplateGenerator.ts index 9143f92..42f405d 100644 --- a/server/emailTemplateGenerator.ts +++ b/server/emailTemplateGenerator.ts @@ -35,15 +35,15 @@ export async function generateEmailFromTemplate( */ function buildEmailHTML(template: EmailTemplate, content: string, variables?: EmailVariables): string { // Utiliser bodyContent si disponible, sinon utiliser content (legacy) - let emailBody = template.bodyContent || content; + let emailBody = template.bodyContent || content || ''; // Remplacer les variables si fournies - if (variables) { + if (variables && emailBody) { emailBody = replaceEmailVariables(emailBody, variables); // Remplacer aussi dans le titre et le pied de page template = { ...template, - headerTitle: replaceEmailVariables(template.headerTitle, variables), + headerTitle: template.headerTitle ? replaceEmailVariables(template.headerTitle, variables) : template.headerTitle, footerText: template.footerText ? replaceEmailVariables(template.footerText, variables) : template.footerText, }; } diff --git a/server/emailTemplateUtils.ts b/server/emailTemplateUtils.ts index ba6d593..b5ad696 100644 --- a/server/emailTemplateUtils.ts +++ b/server/emailTemplateUtils.ts @@ -26,6 +26,11 @@ export function replaceEmailVariables( template: string, variables: EmailVariables ): string { + // Vérifier que le template n'est pas undefined ou null + if (!template) { + return ''; + } + let result = template; // Remplacer chaque variable trouvée dans le template diff --git a/todo.md b/todo.md index b3436a8..2950d55 100644 --- a/todo.md +++ b/todo.md @@ -818,3 +818,4 @@ - [ ] Corriger les erreurs TypeScript dans les fonctions de gestion des présences - [ ] Corriger les erreurs TypeScript dans les fonctions de gestion des logs - [x] Corriger l'erreur de validation du type de rappel dans la procédure testerRappel (typeRappel invalide) +- [x] Corriger l'erreur "Cannot read properties of undefined (reading 'replace')" lors de l'envoi de test de rappel