Checkpoint: Ajout de 4 nouveaux templates de rappels

## Modifications effectuées :

### AdminEmailTemplates.tsx
Ajout de 4 nouveaux types de templates dans la liste :
- "Rappel 3" (value: rappel3)
- "Rappel 4" (value: rappel4)
- "Rappel 5" (value: rappel5)
- "Rappel 6" (value: rappel6)

### AdminRappels.tsx
Ajout des mêmes templates dans TEMPLATE_TYPES avec des délais par défaut :
- Rappel 3 : 14 jours avant
- Rappel 4 : 21 jours avant
- Rappel 5 : 30 jours avant
- Rappel 6 : 60 jours avant

### server/db.ts (initializeDefaultEmailTemplates)
Ajout de 4 nouveaux templates par défaut basés sur le contenu du "Rappel 1" :
- Même structure HTML
- Même message de base
- Prêts à être personnalisés

## Note importante
Ces nouveaux templates ne seront créés que lors de l'initialisation des templates par défaut (bouton "Initialiser les templates par défaut" dans Configuration > Templates d'emails). Si vous avez déjà initialisé les templates, vous devrez créer manuellement ces 4 nouveaux templates ou réinitialiser la base de données.
This commit is contained in:
Manus
2026-01-08 05:15:03 -05:00
parent f87de767cb
commit f56c1d554e
4 changed files with 121 additions and 0 deletions

View File

@@ -700,6 +700,114 @@ export async function initializeDefaultEmailTemplates() {
footerText: "Cet email a été envoyé automatiquement par le système de gestion des formations Itinova. Pour toute question, veuillez contacter le service RH.",
active: true,
},
{
type: "rappel3",
name: "Rappel 3",
logoUrl: null,
primaryColor: "#2563eb",
headerBgColor: "#2563eb",
headerTextColor: "#ffffff",
headerTitle: "Formation Manager Itinova",
bodyContent: `<h2>Rappel : Votre formation commence bientôt !</h2>
<p>Bonjour {{prenomApprenant}} {{nomApprenant}},</p>
<p>Nous vous rappelons que votre formation <strong>{{nomFormation}}</strong> commence dans une semaine.</p>
<div class="info-box">
<p><strong>Séquence :</strong> {{nomSequence}}</p>
<h4>Dates :</h4>
{{datesHTML}}
<p><strong>Lieu :</strong> {{lieu}}</p>
<p><strong>Formateur :</strong> {{formateur}}</p>
</div>
<p>N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.</p>
<p>À très bientôt !</p>`,
footerText: "Cet email a été envoyé automatiquement par le système de gestion des formations Itinova. Pour toute question, veuillez contacter le service RH.",
active: true,
},
{
type: "rappel4",
name: "Rappel 4",
logoUrl: null,
primaryColor: "#2563eb",
headerBgColor: "#2563eb",
headerTextColor: "#ffffff",
headerTitle: "Formation Manager Itinova",
bodyContent: `<h2>Rappel : Votre formation commence bientôt !</h2>
<p>Bonjour {{prenomApprenant}} {{nomApprenant}},</p>
<p>Nous vous rappelons que votre formation <strong>{{nomFormation}}</strong> commence dans une semaine.</p>
<div class="info-box">
<p><strong>Séquence :</strong> {{nomSequence}}</p>
<h4>Dates :</h4>
{{datesHTML}}
<p><strong>Lieu :</strong> {{lieu}}</p>
<p><strong>Formateur :</strong> {{formateur}}</p>
</div>
<p>N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.</p>
<p>À très bientôt !</p>`,
footerText: "Cet email a été envoyé automatiquement par le système de gestion des formations Itinova. Pour toute question, veuillez contacter le service RH.",
active: true,
},
{
type: "rappel5",
name: "Rappel 5",
logoUrl: null,
primaryColor: "#2563eb",
headerBgColor: "#2563eb",
headerTextColor: "#ffffff",
headerTitle: "Formation Manager Itinova",
bodyContent: `<h2>Rappel : Votre formation commence bientôt !</h2>
<p>Bonjour {{prenomApprenant}} {{nomApprenant}},</p>
<p>Nous vous rappelons que votre formation <strong>{{nomFormation}}</strong> commence dans une semaine.</p>
<div class="info-box">
<p><strong>Séquence :</strong> {{nomSequence}}</p>
<h4>Dates :</h4>
{{datesHTML}}
<p><strong>Lieu :</strong> {{lieu}}</p>
<p><strong>Formateur :</strong> {{formateur}}</p>
</div>
<p>N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.</p>
<p>À très bientôt !</p>`,
footerText: "Cet email a été envoyé automatiquement par le système de gestion des formations Itinova. Pour toute question, veuillez contacter le service RH.",
active: true,
},
{
type: "rappel6",
name: "Rappel 6",
logoUrl: null,
primaryColor: "#2563eb",
headerBgColor: "#2563eb",
headerTextColor: "#ffffff",
headerTitle: "Formation Manager Itinova",
bodyContent: `<h2>Rappel : Votre formation commence bientôt !</h2>
<p>Bonjour {{prenomApprenant}} {{nomApprenant}},</p>
<p>Nous vous rappelons que votre formation <strong>{{nomFormation}}</strong> commence dans une semaine.</p>
<div class="info-box">
<p><strong>Séquence :</strong> {{nomSequence}}</p>
<h4>Dates :</h4>
{{datesHTML}}
<p><strong>Lieu :</strong> {{lieu}}</p>
<p><strong>Formateur :</strong> {{formateur}}</p>
</div>
<p>N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.</p>
<p>À très bientôt !</p>`,
footerText: "Cet email a été envoyé automatiquement par le système de gestion des formations Itinova. Pour toute question, veuillez contacter le service RH.",
active: true,
},
{
type: "reset_password",
name: "Réinitialisation de mot de passe",