Checkpoint: Correction du remplacement des variables dans les emails de confirmation d'inscription
- Ajout d'alias de variables pour supporter les deux formats : {{prenom}} et {{prenomApprenant}}
- Les templates peuvent maintenant utiliser indifféremment les noms courts (prenom, nom, formation, sequence) ou les noms longs (prenomApprenant, nomApprenant, nomFormation, nomSequence)
- Correction appliquée dans sendInscriptionConfirmation
This commit is contained in:
15
.manus/db/db-query-1764578676326.json
Normal file
15
.manus/db/db-query-1764578676326.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"query": "SELECT type, name, bodyContent FROM emailTemplates WHERE type = 'inscription'",
|
||||||
|
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT type, name, bodyContent FROM emailTemplates WHERE type = 'inscription'",
|
||||||
|
"rows": [
|
||||||
|
{
|
||||||
|
"type": "inscription",
|
||||||
|
"name": "confirmation",
|
||||||
|
"bodyContent": "<p>Cher(e) {<strong>{prenomApprenant}} {{nomApprenant}},</strong></p><p>Nous avons le plaisir de vous informer que votre inscription à une formation Itinova : {{nomFormation}} le {{dateDebut}} a été confirmée avec succès.</p><p>Nous sommes ravis de vous accueillir et nous espérons que cette formation répondra à vos attentes.</p>"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"messages": [],
|
||||||
|
"stdout": "type\tname\tbodyContent\ninscription\tconfirmation\t<p>Cher(e) {<strong>{prenomApprenant}} {{nomApprenant}},</strong></p><p>Nous avons le plaisir de vous informer que votre inscription à une formation Itinova : {{nomFormation}} le {{dateDebut}} a été confirmée avec succès.</p><p>Nous sommes ravis de vous accueillir et nous espérons que cette formation répondra à vos attentes.</p>\n",
|
||||||
|
"stderr": "",
|
||||||
|
"execution_time_ms": 56
|
||||||
|
}
|
||||||
@@ -122,7 +122,7 @@ export async function sendInscriptionConfirmation(params: {
|
|||||||
contentType: 'text/calendar',
|
contentType: 'text/calendar',
|
||||||
})) : undefined;
|
})) : undefined;
|
||||||
|
|
||||||
// Préparer les variables pour le remplacement
|
// Préparer les variables pour le remplacement (avec alias pour compatibilité)
|
||||||
const variables: EmailVariables = {
|
const variables: EmailVariables = {
|
||||||
nomApprenant: params.apprenantNom,
|
nomApprenant: params.apprenantNom,
|
||||||
prenomApprenant: params.apprenantPrenom,
|
prenomApprenant: params.apprenantPrenom,
|
||||||
@@ -131,6 +131,11 @@ export async function sendInscriptionConfirmation(params: {
|
|||||||
dateDebut: params.dates[0]?.dateDebut.toLocaleDateString('fr-FR') || '',
|
dateDebut: params.dates[0]?.dateDebut.toLocaleDateString('fr-FR') || '',
|
||||||
dateFin: params.dates[params.dates.length - 1]?.dateFin.toLocaleDateString('fr-FR') || '',
|
dateFin: params.dates[params.dates.length - 1]?.dateFin.toLocaleDateString('fr-FR') || '',
|
||||||
lieu: params.lieu,
|
lieu: params.lieu,
|
||||||
|
// Alias pour compatibilité avec les templates utilisant les noms courts
|
||||||
|
nom: params.apprenantNom,
|
||||||
|
prenom: params.apprenantPrenom,
|
||||||
|
formation: params.formationNom,
|
||||||
|
sequence: params.sequenceNom,
|
||||||
};
|
};
|
||||||
|
|
||||||
return sendEmail({
|
return sendEmail({
|
||||||
|
|||||||
8
todo.md
8
todo.md
@@ -917,3 +917,11 @@
|
|||||||
- [x] Ajuster les couleurs de l'en-tête selon la charte graphique Itinova (Bleu #283581, Bleu clair #0578BE, Orange #E94E1B, Vert #45ac34)
|
- [x] Ajuster les couleurs de l'en-tête selon la charte graphique Itinova (Bleu #283581, Bleu clair #0578BE, Orange #E94E1B, Vert #45ac34)
|
||||||
- [x] Appliquer un style sobre et professionnelt liens
|
- [x] Appliquer un style sobre et professionnelt liens
|
||||||
- [x] Tester le rendu des templates personnalisés
|
- [x] Tester le rendu des templates personnalisés
|
||||||
|
|
||||||
|
## Bug Email Confirmation - Variables non remplacées
|
||||||
|
|
||||||
|
- [x] Analyser la fonction d'envoi d'email de confirmation d'inscription
|
||||||
|
- [x] Identifier pourquoi {{prenom}} et autres variables ne sont pas remplacées
|
||||||
|
- [x] Corriger le remplacement des variables (ajout d'alias pour compatibilité)
|
||||||
|
- [x] Corriger le code pour supporter les deux formats de variables ({{prenom}} et {{prenomApprenant}})
|
||||||
|
- [ ] Tester l'envoi d'un email de confirmation en production
|
||||||
|
|||||||
Reference in New Issue
Block a user