This commit is contained in:
2026-06-13 00:01:15 +02:00
parent 3237b22047
commit 81918ee377
9 changed files with 278 additions and 7 deletions

View File

@@ -39,6 +39,15 @@ function getTransporter() {
return transporter
}
function escapeHtml(value) {
return String(value)
.replaceAll("&", "&")
.replaceAll("<", "&lt;")
.replaceAll(">", "&gt;")
.replaceAll('"', "&quot;")
.replaceAll("'", "&#039;")
}
export async function sendParcDemandEmails(payload) {
const config = useRuntimeConfig()
const mailer = getTransporter()
@@ -271,6 +280,9 @@ export async function sendProjetAcademieEmails(payload) {
const summary = getProjetAcademieSummary(payload)
const fullName = `${payload.lastName} ${payload.firstName}`
const dropboxUrl = "https://www.dropbox.com/scl/fo/nu76b9k860kxkczlgpvwc/AO3pMAvoG9EVcsiRWcRk4cE?rlkey=rjnsqvgl9v1topm8mno3uns4a&e=2&st=dsrnbdca&dl=0"
const siteUrl = process.env.NUXT_PUBLIC_SITE_URL || "https://www.orchestre-ile.com"
const academieUrl = new URL("/mediation/academie", siteUrl).toString()
const adminSubject = `WONDIF - Candidature Academie d'orchestre - ${fullName}`
const adminText = [
@@ -283,10 +295,45 @@ export async function sendProjetAcademieEmails(payload) {
const userText = [
`Bonjour ${payload.firstName} ${payload.lastName},`,
"",
"Votre candidature à l'Académie d'orchestre de l'Orchestre national d'Île-de-France a bien été transmise.",
`Nous vous confirmons que votre inscription à lAcadémie dOrchestre 2027 a bien été prise en compte pour linstrument suivant : ${payload.instrument}.`,
"",
"Recapitulatif :",
summary,
"Afin de préparer les auditions, vous trouverez ci-dessous un lien vers les cahiers de traits dorchestre à travailler :",
`Lien traits dorchestre (Dropbox) - ${dropboxUrl}`,
"",
"Vous pourrez accéder au cahier correspondant à linstrument présenté aux auditions et commencer votre préparation dès à présent.",
`Ce lien est également accessible depuis la page Académie 2027 du site de lOrchestre national dÎle-de-France : ${academieUrl}`,
"",
"Une fois les inscriptions clôturées, vous recevrez une convocation pour les auditions, qui se dérouleront entre le 2 et le 16 novembre 2026. Cette convocation vous sera envoyée début octobre.",
"",
"Nous vous remercions de bien vouloir apporter le jour des auditions :",
"- la lettre dengagement signée",
"- le formulaire de droit à limage, complété et signé",
"",
"Vous trouverez ces deux documents en pièces jointes de ce message.",
"",
"Pour toute question ou besoin de renseignement complémentaire, vous pouvez contacter Zoe Crampon :",
"par mail : zoe.crampon@orchestre-ile.com",
"par téléphone : 06 82 73 65 01",
"",
"Nous vous remercions de votre inscription et vous souhaitons une excellente préparation.",
"",
"Bien cordialement,",
"Léquipe daction culturelle de lOrchestre national dÎle-de-France",
].join("\n")
const userHtml = [
`<p>Bonjour ${escapeHtml(payload.firstName)} ${escapeHtml(payload.lastName)},</p>`,
`<p>Nous vous confirmons que votre inscription à lAcadémie dOrchestre 2027 a bien été prise en compte pour linstrument suivant : ${escapeHtml(payload.instrument)}.</p>`,
"<p>Afin de préparer les auditions, vous trouverez ci-dessous un lien vers les cahiers de traits dorchestre à travailler :</p>",
`<p><a href="${dropboxUrl}">Lien traits dorchestre (Dropbox)</a></p>`,
"<p>Vous pourrez accéder au cahier correspondant à linstrument présenté aux auditions et commencer votre préparation dès à présent.</p>",
`<p>Ce lien est également accessible depuis la page <a href="${academieUrl}">Académie 2027</a> du site de lOrchestre national dÎle-de-France.</p>`,
"<p>Une fois les inscriptions clôturées, vous recevrez une convocation pour les auditions, qui se dérouleront entre le 2 et le 16 novembre 2026. Cette convocation vous sera envoyée début octobre.</p>",
"<p>Nous vous remercions de bien vouloir apporter le jour des auditions :</p>",
"<ul><li>la lettre dengagement signée</li><li>le formulaire de droit à limage, complété et signé</li></ul>",
"<p>Vous trouverez ces deux documents en pièces jointes de ce message.</p>",
"<p>Pour toute question ou besoin de renseignement complémentaire, vous pouvez contacter Zoe Crampon :<br>par mail : zoe.crampon@orchestre-ile.com<br>par téléphone : 06 82 73 65 01</p>",
"<p>Nous vous remercions de votre inscription et vous souhaitons une excellente préparation.</p>",
"<p>Bien cordialement,<br>Léquipe daction culturelle de lOrchestre national dÎle-de-France</p>",
].join("\n")
await Promise.all([
@@ -302,6 +349,21 @@ export async function sendProjetAcademieEmails(payload) {
to: payload.email,
subject: userSubject,
text: userText,
html: userHtml,
attachments: [
{
filename: "Lettre d'engagement - Académie 2027.pdf",
path: "public/contenus/lettre_engagement_academie_2027.pdf",
},
{
filename: "Droit à l'image - majeur.pdf",
path: "public/contenus/droit_image_majeur.pdf",
},
{
filename: "Droit à l'image - mineur.pdf",
path: "public/contenus/droit_image_mineur.pdf",
},
],
}),
])