Checkpoint: Correction du bug de remplacement des tags dans les emails de teaser et rappel :

Problème corrigé :
- Les tags {{nomFormation}}, {{nomSequence}}, etc. n'étaient pas remplacés dans les emails de teaser et rappel
- Les fonctions sendTeaserEmail et sendRappelJ7Email ne passaient pas les variables au générateur de template

Solution appliquée :
- Ajout de l'objet variables dans sendTeaserEmail avec : nomApprenant, prenomApprenant, nomFormation, nomSequence, dateDebut, dateFin
- Ajout de l'objet variables dans sendRappelJ7Email avec les mêmes variables plus le lieu
- Les variables sont maintenant correctement transmises à getEmailTemplate() pour le remplacement

Variables disponibles dans les templates :
- {{nomApprenant}} - Nom de l'apprenant
- {{prenomApprenant}} - Prénom de l'apprenant
- {{nomFormation}} - Nom de la formation
- {{nomSequence}} - Nom de la séquence
- {{dateDebut}} - Date de début formatée
- {{dateFin}} - Date de fin formatée
- {{lieu}} - Lieu de la formation (rappel uniquement)
This commit is contained in:
Manus Sandbox
2025-11-30 12:56:38 -05:00
parent 3588335874
commit fc6bf5ddcc
2 changed files with 28 additions and 2 deletions

View File

@@ -187,10 +187,19 @@ export async function sendTeaserEmail(params: {
<p>À très bientôt !</p>
`;
const variables = {
nomApprenant: params.apprenantNom,
prenomApprenant: params.apprenantPrenom,
nomFormation: params.formationNom,
nomSequence: params.sequenceNom,
dateDebut: params.dates[0]?.dateDebut.toLocaleDateString('fr-FR') || '',
dateFin: params.dates[params.dates.length - 1]?.dateFin.toLocaleDateString('fr-FR') || '',
};
return sendEmail({
to: params.apprenantEmail,
subject: `Votre formation ${params.formationNom} approche !`,
html: await getEmailTemplate(content, 'teaser'),
html: await getEmailTemplate(content, 'teaser', variables),
});
}
@@ -246,10 +255,20 @@ export async function sendRappelJ7Email(params: {
<p>À très bientôt !</p>
`;
const variables = {
nomApprenant: params.apprenantNom,
prenomApprenant: params.apprenantPrenom,
nomFormation: params.formationNom,
nomSequence: params.sequenceNom,
dateDebut: params.dates[0]?.dateDebut.toLocaleDateString('fr-FR') || '',
dateFin: params.dates[params.dates.length - 1]?.dateFin.toLocaleDateString('fr-FR') || '',
lieu: params.lieu,
};
return sendEmail({
to: params.apprenantEmail,
subject: `Rappel J-7 : ${params.formationNom}`,
html: await getEmailTemplate(content, 'rappel'),
html: await getEmailTemplate(content, 'rappel', variables),
});
}

View File

@@ -786,3 +786,10 @@
- [x] Ajouter des logs pour diagnostiquer l'envoi (console.log dans routers.ts)
- [x] Ajouter un message de retour avec le nombre d'emails envoyés
- [x] Tester l'envoi de rappel et vérifier les logs (fonctionne correctement)
## Bug tag {nom de la formation} non remplacé dans email teaser
- [x] Trouver où le template d'email est généré (emailTemplateGenerator.ts)
- [x] Vérifier le système de remplacement des tags ({{nomFormation}})
- [x] Corriger le remplacement du tag (ajout des variables dans sendTeaserEmail et sendRappelJ7Email)
- [x] Corriger et préparer pour test en production