Checkpoint: Correction de l'erreur "Cannot read properties of undefined (reading 'replace')" lors de l'envoi de test de rappel :
- Ajout d'une vérification dans replaceEmailVariables pour gérer les templates undefined/null - Ajout d'une vérification dans buildEmailHTML pour s'assurer que emailBody n'est jamais undefined - Ajout d'une vérification pour headerTitle avant d'appeler replaceEmailVariables - Protection contre les valeurs null/undefined dans toutes les fonctions de manipulation de templates - Mise à jour du fichier todo.md pour marquer la tâche comme terminée
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user