Bonjour ${params.apprenantPrenom} ${params.apprenantNom},
+Bonjour ${fonctionLabel} ${params.apprenantPrenom} ${params.apprenantNom},
${isConfirmed ? 'Votre inscription a été confirmée !
' @@ -175,13 +178,19 @@ export async function sendInscriptionConfirmation(params: { export async function sendTeaserEmail(params: { apprenantEmail: string; apprenantPrenom: string; + apprenantNom: string; + apprenantFonction: string; formationNom: string; sessionNom: string; dateDebut: Date; }): PromiseBonjour ${params.apprenantPrenom},
+Bonjour ${salutation},
Nous sommes ravis de vous accueillir prochainement pour la formation ${params.formationNom}.
@@ -213,14 +222,20 @@ export async function sendTeaserEmail(params: { export async function sendRappelJ7Email(params: { apprenantEmail: string; apprenantPrenom: string; + apprenantNom: string; + apprenantFonction: string; formationNom: string; sessionNom: string; dateDebut: Date; lieu: string; }): PromiseBonjour ${params.apprenantPrenom},
+Bonjour ${salutation},
Nous vous rappelons que votre formation ${params.formationNom} commence dans 7 jours.
@@ -256,7 +271,7 @@ export async function sendRappelJ7Email(params: { * Envoie des emails groupés à tous les inscrits d'une session */ export async function sendGroupEmail(params: { - recipients: Array<{ email: string; prenom: string }>; + recipients: Array<{ email: string; prenom: string; nom: string; fonction: string }>; formationNom: string; sessionNom: string; type: 'teaser' | 'rappel'; @@ -272,6 +287,8 @@ export async function sendGroupEmail(params: { await sendTeaserEmail({ apprenantEmail: recipient.email, apprenantPrenom: recipient.prenom, + apprenantNom: recipient.nom, + apprenantFonction: recipient.fonction, formationNom: params.formationNom, sessionNom: params.sessionNom, dateDebut: params.dateDebut, @@ -280,6 +297,8 @@ export async function sendGroupEmail(params: { await sendRappelJ7Email({ apprenantEmail: recipient.email, apprenantPrenom: recipient.prenom, + apprenantNom: recipient.nom, + apprenantFonction: recipient.fonction, formationNom: params.formationNom, sessionNom: params.sessionNom, dateDebut: params.dateDebut, diff --git a/server/routers.ts b/server/routers.ts index e63b80c..bbe902e 100644 --- a/server/routers.ts +++ b/server/routers.ts @@ -245,6 +245,7 @@ export const appRouter = router({ apprenantEmail: inscriptionApprenant.email, apprenantNom: inscriptionApprenant.nom, apprenantPrenom: inscriptionApprenant.prenom, + apprenantFonction: inscriptionApprenant.fonction, formationNom: inscriptionFormation.nom, sessionNom: inscriptionSession.nom, dateDebut: new Date(inscriptionSession.dateDebut), @@ -315,6 +316,8 @@ export const appRouter = router({ .map(i => ({ email: i.apprenant!.email, prenom: i.apprenant!.prenom, + nom: i.apprenant!.nom, + fonction: i.apprenant!.fonction, })); const result = await sendGroupEmail({ diff --git a/todo.md b/todo.md index 293fe3d..6901242 100644 --- a/todo.md +++ b/todo.md @@ -74,3 +74,11 @@ - [x] Mettre à jour le schéma de base de données - [x] Mettre à jour les formulaires d'inscription et de gestion - [x] Ajouter la fonction dans les exports PDF/Excel + +## Améliorations supplémentaires + +- [x] Ajouter un filtre par fonction sur la page des apprenants +- [x] Ajouter un filtre par fonction sur la page des inscrits +- [x] Créer des statistiques de répartition par fonction sur le tableau de bord +- [x] Ajouter des graphiques de visualisation des données +- [x] Personnaliser les templates d'emails avec la fonction de l'apprenant