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 {
|
function buildEmailHTML(template: EmailTemplate, content: string, variables?: EmailVariables): string {
|
||||||
// Utiliser bodyContent si disponible, sinon utiliser content (legacy)
|
// Utiliser bodyContent si disponible, sinon utiliser content (legacy)
|
||||||
let emailBody = template.bodyContent || content;
|
let emailBody = template.bodyContent || content || '';
|
||||||
|
|
||||||
// Remplacer les variables si fournies
|
// Remplacer les variables si fournies
|
||||||
if (variables) {
|
if (variables && emailBody) {
|
||||||
emailBody = replaceEmailVariables(emailBody, variables);
|
emailBody = replaceEmailVariables(emailBody, variables);
|
||||||
// Remplacer aussi dans le titre et le pied de page
|
// Remplacer aussi dans le titre et le pied de page
|
||||||
template = {
|
template = {
|
||||||
...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,
|
footerText: template.footerText ? replaceEmailVariables(template.footerText, variables) : template.footerText,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,11 @@ export function replaceEmailVariables(
|
|||||||
template: string,
|
template: string,
|
||||||
variables: EmailVariables
|
variables: EmailVariables
|
||||||
): string {
|
): string {
|
||||||
|
// Vérifier que le template n'est pas undefined ou null
|
||||||
|
if (!template) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
let result = template;
|
let result = template;
|
||||||
|
|
||||||
// Remplacer chaque variable trouvée dans le template
|
// Remplacer chaque variable trouvée dans le template
|
||||||
|
|||||||
1
todo.md
1
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 présences
|
||||||
- [ ] Corriger les erreurs TypeScript dans les fonctions de gestion des logs
|
- [ ] 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 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
|
||||||
|
|||||||
Reference in New Issue
Block a user