diff --git a/client/src/pages/AdminEmailTemplates.tsx b/client/src/pages/AdminEmailTemplates.tsx index 53f5eb3..0cee979 100644 --- a/client/src/pages/AdminEmailTemplates.tsx +++ b/client/src/pages/AdminEmailTemplates.tsx @@ -250,6 +250,10 @@ export default function AdminEmailTemplates() { { value: "teaser", label: "Email teaser" }, { value: "rappel", label: "Rappel 1" }, { value: "rappelJ1", label: "Rappel 2" }, + { value: "rappel3", label: "Rappel 3" }, + { value: "rappel4", label: "Rappel 4" }, + { value: "rappel5", label: "Rappel 5" }, + { value: "rappel6", label: "Rappel 6" }, { value: "reset_password", label: "Réinitialisation de mot de passe" }, ]; diff --git a/client/src/pages/AdminRappels.tsx b/client/src/pages/AdminRappels.tsx index 9dfec4f..79b061f 100644 --- a/client/src/pages/AdminRappels.tsx +++ b/client/src/pages/AdminRappels.tsx @@ -29,6 +29,10 @@ import { toast } from "sonner"; const TEMPLATE_TYPES = [ { value: "rappel", label: "Rappel 1", joursAvant: 7 }, { value: "rappelJ1", label: "Rappel 2", joursAvant: 1 }, + { value: "rappel3", label: "Rappel 3", joursAvant: 14 }, + { value: "rappel4", label: "Rappel 4", joursAvant: 21 }, + { value: "rappel5", label: "Rappel 5", joursAvant: 30 }, + { value: "rappel6", label: "Rappel 6", joursAvant: 60 }, ]; export default function AdminRappels() { diff --git a/server/db.ts b/server/db.ts index 3622b78..1e0d023 100644 --- a/server/db.ts +++ b/server/db.ts @@ -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: `

Rappel : Votre formation commence bientôt !

+

Bonjour {{prenomApprenant}} {{nomApprenant}},

+ +

Nous vous rappelons que votre formation {{nomFormation}} commence dans une semaine.

+ +
+

Séquence : {{nomSequence}}

+

Dates :

+ {{datesHTML}} +

Lieu : {{lieu}}

+

Formateur : {{formateur}}

+
+ +

N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.

+ +

À très bientôt !

`, + 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: `

Rappel : Votre formation commence bientôt !

+

Bonjour {{prenomApprenant}} {{nomApprenant}},

+ +

Nous vous rappelons que votre formation {{nomFormation}} commence dans une semaine.

+ +
+

Séquence : {{nomSequence}}

+

Dates :

+ {{datesHTML}} +

Lieu : {{lieu}}

+

Formateur : {{formateur}}

+
+ +

N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.

+ +

À très bientôt !

`, + 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: `

Rappel : Votre formation commence bientôt !

+

Bonjour {{prenomApprenant}} {{nomApprenant}},

+ +

Nous vous rappelons que votre formation {{nomFormation}} commence dans une semaine.

+ +
+

Séquence : {{nomSequence}}

+

Dates :

+ {{datesHTML}} +

Lieu : {{lieu}}

+

Formateur : {{formateur}}

+
+ +

N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.

+ +

À très bientôt !

`, + 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: `

Rappel : Votre formation commence bientôt !

+

Bonjour {{prenomApprenant}} {{nomApprenant}},

+ +

Nous vous rappelons que votre formation {{nomFormation}} commence dans une semaine.

+ +
+

Séquence : {{nomSequence}}

+

Dates :

+ {{datesHTML}} +

Lieu : {{lieu}}

+

Formateur : {{formateur}}

+
+ +

N'oubliez pas d'apporter le matériel nécessaire et de vous présenter à l'heure indiquée.

+ +

À très bientôt !

`, + 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", diff --git a/todo.md b/todo.md index 6a40976..0f3ba33 100644 --- a/todo.md +++ b/todo.md @@ -507,3 +507,8 @@ ## Renommage du label dans la gestion des rappels - [x] Renommer "Type de rappel" en "Template d'email utilisé" dans les dialogues de création/modification - [x] Renommer "Type" en "Template" dans le header du tableau + +## Ajout de 4 nouveaux templates de rappels +- [x] Ajouter "Rappel 3", "Rappel 4", "Rappel 5", "Rappel 6" dans AdminEmailTemplates.tsx +- [x] Ajouter les mêmes templates dans AdminRappels.tsx avec délais (14, 21, 30, 60 jours) +- [x] Modifier initializeDefaultEmailTemplates dans db.ts pour créer ces templates basés sur Rappel 1