-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
fix: lbac 2115: update mails (#1302)
* fix: lbac 2115: update mails * fix: revert ajout address * fix: review * fix: suppression des liens self dans les mails * fix: alt sur une image * fix: liens dans les relances des offres en expiration * fix: gras sur les puces * fix: mail confirmation email * fix: image candidature * fix: bouton voir mon offre * fix: revue marion * fix: update talisman * fix: update talisman * fix: revue claire * fix: relance width * fix: font family arial * fix: condition message * fix: update mailto * fix: copier coller * fix: mailto subjects * fix: revue mailto * fix: footer du mail de bienvenue * fix: merge
- v1.570.2
- v1.570.1
- v1.570.0
- v1.569.0
- v1.568.2
- v1.568.1
- v1.568.0
- v1.567.4
- v1.567.3
- v1.567.2
- v1.567.1
- v1.567.0
- v1.566.1
- v1.566.0
- v1.565.0
- v1.564.0
- v1.563.0
- v1.562.3
- v1.562.2
- v1.562.1
- v1.562.0
- v1.561.0
- v1.560.0
- v1.559.2
- v1.559.1
- v1.559.0
- v1.558.1
- v1.558.0
- v1.557.4
- v1.557.3
- v1.557.2
- v1.557.1
- v1.557.0
- v1.556.0
- v1.555.0
- v1.554.5
- v1.554.4
- v1.554.3
- v1.554.2
- v1.554.1
- v1.554.0
- v1.553.0
- v1.552.0
- v1.551.0
- v1.550.0
- v1.549.3
- v1.549.2
- v1.549.1
- v1.549.0
- v1.548.2
- v1.548.1
- v1.548.0
- v1.547.3
- v1.547.2
- v1.547.1
- v1.547.0
- v1.546.1
- v1.546.0
- v1.545.0
- v1.544.4
- v1.544.3
- v1.544.2
- v1.544.1
- v1.544.0
- v1.543.0
- v1.542.1
- v1.542.0
- v1.541.3
- v1.541.2
- v1.541.1
- v1.541.0
- v1.540.0
- v1.539.0
- v1.538.0
- v1.537.1
- v1.537.0
- v1.536.1
- v1.536.0
- v1.535.0
- v1.534.1
- v1.534.0
- v1.533.1
- v1.533.0
- v1.532.1
- v1.532.0
- v1.531.0
- v1.530.3
- v1.530.2
- v1.530.1
- v1.530.0
- v1.529.0
- v1.528.0
- v1.527.0
- v1.526.0
- v1.525.3
- v1.525.2
- v1.525.1
- v1.525.0
- v1.524.0
- v1.523.1
- v1.523.0
- v1.522.0
- v1.521.1
- v1.521.0
- v1.520.2
- v1.520.1
- v1.520.0
- v1.519.1
- v1.519.0
- v1.518.0
- v1.517.4
- v1.517.3
- v1.517.2
- v1.517.1
- v1.517.0
- v1.516.0
- v1.515.0
- v1.514.0
- v1.513.1
- v1.513.0
- v1.512.9
- v1.512.8
- v1.512.7
- v1.512.6
- v1.512.5
- v1.512.4
- v1.512.3
- v1.512.2
- v1.512.1
- v1.512.0
- v1.511.3
- v1.511.2
- v1.511.1
- v1.511.0
- v1.510.0
- v1.509.1
- v1.509.0
- v1.508.2
- v1.508.1
- v1.508.0
- v1.507.0
- v1.506.1
- v1.506.0
- v1.505.0
- v1.504.0
- v1.503.1
- v1.503.0
- v1.502.2
- v1.502.1
- v1.502.0
- v1.501.3
- v1.501.2
- v1.501.1
- v1.501.0
- v1.500.0
- v1.499.0
- v1.498.0
- v1.497.0
- v1.496.1
- v1.496.0
- v1.495.1
- v1.495.0
- v1.494.3
- v1.494.2
- v1.494.1
- v1.494.0
- v1.493.0
- v1.492.1
- v1.492.0
- v1.491.0
- v1.490.2
- v1.490.1
- v1.490.0
- v1.489.0
- v1.488.0
- v1.487.1
- v1.487.0
- v1.486.0
- v1.485.5
- v1.485.4
- v1.485.3
- v1.485.2
- v1.485.1
- v1.485.0
- v1.484.0
- v1.483.3
- v1.483.2
- v1.483.1
- v1.483.0
- v1.482.0
- v1.481.0
- v1.480.1
- v1.480.0
- v1.479.0
- v1.478.2
- v1.478.1
- v1.478.0
- v1.477.0
- v1.476.0
- v1.475.0
- v1.474.0
- v1.473.3
- v1.473.2
- v1.473.1
- v1.473.0
- v1.472.0
- v1.471.0
- v1.470.3
- v1.470.2
- v1.470.1
- v1.470.0
- v1.469.2
- v1.469.1
- v1.469.0
- v1.468.1
- v1.468.0
- v1.467.1
- v1.467.0
- v1.466.0
- v1.465.0
- v1.464.0
- v1.463.3
- v1.463.2
- v1.463.1
- v1.463.0
- v1.462.4
- v1.462.3
- v1.462.2
- v1.462.1
- v1.462.0
- v1.461.2
- v1.461.1
- v1.461.0
- v1.460.1
- v1.460.0
- v1.459.0
- v1.458.5
- v1.458.4
- v1.458.3
- v1.458.2
- v1.458.1
- v1.458.0
- v1.457.5
- v1.457.4
- v1.457.3
- v1.457.2
- v1.457.1
- v1.457.0
- v1.456.0
- v1.455.0
- v1.454.1
- v1.454.0
- v1.453.0
- v1.452.0
- v1.451.4
- v1.451.3
- v1.451.2
- v1.451.1
- v1.451.0
- v1.450.0
- v1.449.9
- v1.449.8
- v1.449.7
- v1.449.6
- v1.449.5
- v1.449.4
- v1.449.3
- v1.449.2
- v1.449.1
- v1.449.0
- v1.448.5
- v1.448.4
- v1.448.3
- v1.448.2
- v1.448.1
- v1.448.0
- v1.447.0
- v1.446.0
- v1.445.1
- v1.445.0
- v1.444.0
- v1.443.2
- v1.443.1
- v1.443.0
- v1.442.3
- v1.442.2
- v1.442.1
- v1.442.0
- v1.441.3
- v1.441.2
- v1.441.1
- v1.441.0
- v1.440.3
- v1.440.2
- v1.440.1
- v1.440.0
- v1.439.0
- v1.438.10
- v1.438.9
- v1.438.8
- v1.438.7
- v1.438.6
- v1.438.5
- v1.438.4
- v1.438.3
- v1.438.2
- v1.438.1
- v1.438.0
- v1.437.1
- v1.437.0
- v1.436.1
- v1.436.0
- v1.435.3
- v1.435.2
- v1.435.1
- v1.435.0
- v1.434.1
- v1.434.0
- v1.433.0
- v1.432.1
- v1.432.0
- v1.431.2
- v1.431.1
- v1.431.0
- v1.430.0
- v1.429.1
- v1.429.0
- v1.428.0
- v1.427.2
- v1.427.1
- v1.427.0
- v1.426.5
- v1.426.4
- v1.426.3
- v1.426.2
- v1.426.1
- v1.426.0
- v1.425.0
- v1.424.0
- v1.423.0
- v1.422.0
- v1.421.0
- v1.420.1
- v1.420.0
- v1.419.3
- v1.419.2
- v1.419.1
- v1.419.0
- v1.418.1
- v1.418.0
- v1.417.1
- v1.417.0
- v1.416.0
- v1.415.0
- v1.414.1
- v1.414.0
- v1.413.1
- v1.413.0
- v1.412.2
- v1.412.1
- v1.412.0
- v1.411.0
- v1.410.0
- v1.409.2
- v1.409.1
- v1.409.0
- v1.408.0
- v1.407.2
- v1.407.1
- v1.407.0
- v1.406.4
- v1.406.3
- v1.406.2
- v1.406.1
- v1.406.0
- v1.405.2
- v1.405.1
- v1.405.0
- v1.404.2
- v1.404.1
- v1.404.0
- v1.403.0
- v1.402.0
- v1.401.0
- v1.400.2
- v1.400.1
- v1.400.0
- v1.399.1
- v1.399.0
- v1.398.0
- v1.397.0
- v1.396.1
- v1.396.0
- v1.395.0
- v1.394.0
- v1.393.0
- v1.392.1
- v1.392.0
- v1.391.1
- v1.391.0
- v1.390.2
- v1.390.1
- v1.390.0
- v1.389.0
- v1.388.1
- v1.388.0
- v1.387.2
- v1.387.1
- v1.387.0
- v1.386.1
- v1.386.0
- v1.385.1
- v1.385.0
- v1.384.2
- v1.384.1
- v1.384.0
- v1.383.0
- v1.382.2
- v1.382.1
- v1.382.0
- v1.381.2
- v1.381.1
- v1.381.0
- v1.380.2
- v1.380.1
- v1.380.0
- v1.379.0
- v1.378.0
- v1.377.0
- v1.376.1
- v1.376.0
- v1.375.0
- v1.374.0
- v1.373.0
- v1.372.0
- v1.371.0
- v1.370.1
- v1.370.0
- v1.369.2
- v1.369.1
- v1.369.0
- v1.368.5
- v1.368.4
- v1.368.3
- v1.368.2
- v1.368.1
- v1.368.0
- v1.367.6
- v1.367.5
- v1.367.4
- v1.367.3
- v1.367.2
- v1.367.1
- v1.367.0
- v1.366.2
- v1.366.1
- v1.366.0
- v1.365.6
- v1.365.5
- v1.365.4
- v1.365.3
- v1.365.2
- v1.365.1
- v1.365.0
- v1.364.2
- v1.364.1
- v1.364.0
- v1.363.3
- v1.363.2
- v1.363.1
- v1.363.0
- v1.362.7
- v1.362.6
1 parent
820d480
commit d5a4d53
Showing
20 changed files
with
1,501 additions
and
422 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,22 @@ | ||
import { smtpClient } from "./smtpClient" | ||
|
||
export const loginClient = { | ||
loginAsAdmin() { | ||
return this.login("[email protected]").then(() => { | ||
cy.contains("Gestion des recruteurs") | ||
}) | ||
}, | ||
login(email: string) { | ||
cy.request("POST", `${Cypress.env("server")}/api/login/magiclink`, { email }) | ||
return cy | ||
.request("POST", `${Cypress.env("server")}/api/login/magiclink`, { email }) | ||
.then(() => { | ||
return smtpClient.getMail(email, "Lien de connexion") | ||
}) | ||
.then((mailContent) => { | ||
const url = new RegExp("(http[^ ]+token=[a-zA-Z0-9.-]+)", "g").exec(mailContent)?.at(1) | ||
const url = new RegExp("(http[^ ]+token=[a-zA-Z0-9.\\-_]+)", "g").exec(mailContent)[1] | ||
if (!url) { | ||
throw new Error("could not find url") | ||
} | ||
cy.visit(url) | ||
}) | ||
}, | ||
|
33 changes: 33 additions & 0 deletions
33
cypress/e2e/manual/create-recruiter-account-manual-validation-no-offer.cy.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import { slowCypressDown } from "cypress-slow-down" | ||
|
||
import { loginClient } from "../../api/loginClient" | ||
import { FlowCreationEntreprise } from "../../pages/FlowCreationEntreprise" | ||
import { generateRandomString } from "../../utils/generateRandomString" | ||
|
||
slowCypressDown(200) | ||
|
||
describe("create-recruiter-account-manual-validation-no-offer", () => { | ||
it.skip("tests create-recruiter-account-manual-validation-no-offer", () => { | ||
cy.viewport(1271, 721) | ||
|
||
const email = `cypress-manual-validation-${generateRandomString()}@mail.com` | ||
const siret = Cypress.env("ENTREPRISE_AUTOVALIDE_SIRET") | ||
const firstName = "John" | ||
const lastName = "Doe" | ||
|
||
FlowCreationEntreprise.siretPage.goTo() | ||
FlowCreationEntreprise.siretPage.fillSiret(siret) | ||
FlowCreationEntreprise.siretPage.submit() | ||
|
||
FlowCreationEntreprise.personalInfosPage.fillForm({ | ||
firstName, | ||
lastName, | ||
phone: "0700000000", | ||
email, | ||
}) | ||
FlowCreationEntreprise.personalInfosPage.submit() | ||
FlowCreationEntreprise.personalInfosPage.confirmAccountCreation() | ||
FlowCreationEntreprise.offerPage.assertUrl() | ||
loginClient.loginAsAdmin() | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import { slowCypressDown } from "cypress-slow-down" | ||
|
||
import { loginClient } from "../../api/loginClient" | ||
import { FlowCreationEntreprise } from "../../pages/FlowCreationEntreprise" | ||
import { generateRandomString } from "../../utils/generateRandomString" | ||
|
||
slowCypressDown(300) | ||
|
||
describe("entreprise-create-offre", () => { | ||
it.skip("test entreprise-create-offre", () => { | ||
cy.viewport(1271, 721) | ||
|
||
const emailDomain = Cypress.env("ENTREPRISE_AUTOVALIDE_EMAIL_DOMAIN") | ||
const email = `${generateRandomString()}@${emailDomain}` | ||
const siret = Cypress.env("ENTREPRISE_AUTOVALIDE_SIRET") | ||
const firstName = `John-${generateRandomString()}` | ||
const lastName = `Doe-${generateRandomString()}` | ||
|
||
FlowCreationEntreprise.siretPage.goTo() | ||
FlowCreationEntreprise.siretPage.fillSiret(siret) | ||
FlowCreationEntreprise.siretPage.submit() | ||
|
||
FlowCreationEntreprise.personalInfosPage.fillForm({ | ||
firstName, | ||
lastName, | ||
phone: "0700000000", | ||
email, | ||
}) | ||
FlowCreationEntreprise.personalInfosPage.submit() | ||
|
||
loginClient.login(email) | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import { loginClient } from "../../api/loginClient" | ||
|
||
describe("login-admin", () => { | ||
it.skip("login-admin", () => { | ||
cy.viewport(1271, 721) | ||
|
||
loginClient.loginAsAdmin() | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
165 changes: 165 additions & 0 deletions
165
server/static/templates/mail-bienvenue-entreprise-sans-offre.mjml.ejs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
<mjml> | ||
<mj-head> | ||
<mj-preview></mj-preview> | ||
<mj-breakpoint width="480px"></mj-breakpoint> | ||
<mj-attributes> | ||
<mj-all padding="0"></mj-all> | ||
</mj-attributes> | ||
<mj-style> | ||
@media only screen and (max-width: 799px) { | ||
.text > div { | ||
text-align: inherit !important; | ||
} | ||
|
||
.wrapper > table > tbody > tr > td { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
.section > table > tbody > tr > td { | ||
padding-left: 20px !important; | ||
padding-right: 20px !important; | ||
} | ||
|
||
.column > table > tbody > tr > td { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
.padB40 { | ||
padding-bottom: 40px !important; | ||
} | ||
|
||
.image { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
.image > table { | ||
text-align: center !important; | ||
margin: 0 auto !important; | ||
} | ||
|
||
.divider { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
.button > table { | ||
width: 100% !important; | ||
} | ||
|
||
.button > table > tbody > tr > td > a { | ||
width: 80% !important; | ||
} | ||
} | ||
</mj-style> | ||
<mj-style inline="inline"> | ||
.column > table { border-collapse: separate; } | ||
</mj-style> | ||
<mj-font href="https://fonts.googleapis.com/css2?family=Public+Sans:wght@700&display=swap" name="Public Sans"></mj-font> | ||
</mj-head> | ||
<mj-body background-color="#f5f5fe" name="Entreprise - notif compte validé" width="800px"> | ||
<mj-wrapper border-radius="0px" css-class="wrapper" padding="32px 100px 32px 100px"> | ||
<mj-section border-radius="0px" css-class="section" name="mj-section_group"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="14.83%"> | ||
<mj-image align="left" alt="Image" css-class="image" src="<%= data.images.logoRf %>" width="89px"> | ||
|
||
</mj-image> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" padding="0px 24px 0px 24px" vertical-align="middle" width="34.83%"> | ||
<mj-image align="left" alt="Image" css-class="image" padding="17px 0px 17px 0px" src="<%= data.images.logoLba %>" width="160px"> | ||
|
||
</mj-image> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="top" width="50.33%"> | ||
|
||
</mj-column> | ||
</mj-group> | ||
</mj-section> | ||
<mj-spacer height="24px"> | ||
|
||
</mj-spacer> | ||
<mj-section background-color="#ffffff" border-radius="4px" border="1px solid #e3e3fd" css-class="section" name="mj-section_group" padding="23px 23px 23px 23px"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="-99.28000000000002%"> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="0px 0px 24px 0px"> | ||
Bonjour <%= data.first_name %> <%= data.last_name %>, | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="0px 0px 24px 0px"> | ||
Félicitations, votre votre compte La bonne alternance est créé pour l’entreprise : | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="700" line-height="24px" padding="0px 0px 24px 0px"> | ||
<%= data.establishment_name %> | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px"> | ||
Accédez à votre espace et publiez vos offres en quelques clics afin de les diffuser auprès des jeunes sur les sites : Parcoursup, Affelnet, 1jeune1solution, et La bonne alternance. | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" padding="0px 0px 0px 0px" vertical-align="middle" width="99.64%"> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="12px 0px 0px 0px"> | ||
Votre identifiant : | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="700" line-height="24px" padding="0px 0px 12px 0px"> | ||
<%= data.email %> | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="99.64%"> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-style="italic" font-weight="400" line-height="24px" padding="0px 0px 24px 0px"> | ||
Pas besoin de mot de passe avec La bonne alternance. Pour vous connecter, renseignez votre adresse mail afin de recevoir un lien de connexion sécurisé. | ||
<br/> | ||
</mj-text> | ||
<mj-button href="<%= data.confirmation_url %>" align="center" background-color="#000091" border-radius="0px" color="#ffffff" css-class="button" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-weight="700" inner-padding="4px 0px 4px 0px" line-height="24px" padding="0px 0px 24px 0px" width="152px"> | ||
Déposer une offre | ||
</mj-button> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-weight="400" line-height="22px"> | ||
Si le bouton ne fonctionne pas, copiez le lien suivant dans votre navigateur : | ||
<br/><%= data.confirmation_url %> | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
</mj-group> | ||
</mj-section> | ||
<mj-spacer height="24px"> | ||
|
||
</mj-spacer> | ||
<mj-section border-radius="4px" css-class="section" name="mj-section_group"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="100%"> | ||
<mj-text align="left" color="#666666" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-weight="400" line-height="24px"> | ||
Ce courriel est généré automatiquement, vous ne pouvez pas y répondre. | ||
<br/>Pour toute question, consultez notre <a href="https://labonnealternance.apprentissage.beta.gouv.fr/faq" style="text-decoration: underline; color: inherit;">FAQ</a> ou écrivez-nous à <a href="mailto:labonnealternance@apprentissage.beta.gouv.fr" style="text-decoration: underline; color: inherit;">labonnealternance@apprentissage.beta.gouv.fr</a> | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
</mj-group> | ||
</mj-section> | ||
<mj-spacer height="24px"> | ||
|
||
</mj-spacer> | ||
<mj-section border-radius="4px" css-class="section" name="mj-section_group"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="100%"> | ||
<mj-text align="left" color="#666666" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-weight="400" line-height="24px"> | ||
La bonne alternance est un site développé par la Mission interministérielle pour l'apprentissage, au sein de l’État, conformément aux missions d’intérêt public du ministère du Travail, du Plein emploi et de l’Insertion. | ||
<br/> | ||
<br/>Nous vous contactons car vous avez créé un compte entreprise pour déposer des offres d'emploi en alternance. | ||
<br/> | ||
<br/>Nous ne faisons aucune utilisation commerciale de vos adresses e-mail. Vous bénéficiez d’un droit d’opposition que vous pouvez utiliser à tout moment via l’adresse <a href="mailto:labonnealternance@apprentissage.beta.gouv.fr?subject=Droit%20opposition" style="font-family: Arial, Helvetica, Verdana, sans-serif; font-weight: 400; text-decoration: underline; color: inherit;">labonnealternance@apprentissage.beta.gouv.fr</a> | ||
<br/> | ||
<br/>Si vos droits ne sont pas respectés, vous pouvez à tout moment introduire une réclamation auprès de la CNIL. Pour plus d’informations sur le traitement de vos données, vous pouvez vous rendre sur la <a href="https://labonnealternance.apprentissage.beta.gouv.fr/politique-de-confidentialite" style="font-family: Arial, Helvetica, Verdana, sans-serif; font-weight: 400; text-decoration: underline; color: inherit;">politique de confidentialité</a> de La bonne alternance. | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
</mj-group> | ||
</mj-section> | ||
</mj-wrapper> | ||
</mj-body> | ||
</mjml> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
275 changes: 275 additions & 0 deletions
275
server/static/templates/mail-candidature-spontanee.mjml.ejs
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
215 changes: 165 additions & 50 deletions
215
server/static/templates/mail-expiration-offres.mjml.ejs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,67 +1,182 @@ | ||
<% var dansXjours = data.threshold === 1 ? 'demain' : 'dans '+data.threshold+' jours' %> | ||
<% var offre = data.offres[0] %> | ||
<mjml> | ||
<mj-head> | ||
<mj-title>Expiration prochaine de vos offres</mj-title> | ||
<mj-font name="Work Sans" href="https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;700&display=swap" /> | ||
<mj-style inline="inline"> .grey {color: #1E1E1E;} </mj-style> | ||
<mj-preview></mj-preview> | ||
<mj-breakpoint width="480px"></mj-breakpoint> | ||
<mj-attributes> | ||
<mj-text color="#242424" font-family="Work Sans, Arial" font-size="16px" line-height="24px" /> | ||
<mj-button font-size="16px" line-height="24px" padding="8px 24px" font-family="Work Sans, Arial" height="40px" /> | ||
<mj-all padding="0"></mj-all> | ||
</mj-attributes> | ||
</mj-head> | ||
<mj-body background-color="#E5E5E5"> | ||
<mj-section> | ||
<mj-column> | ||
<mj-image src="<%= data.images.logoLba %>" width="150px" alt="Logo du site La bonne alternance" /> | ||
</mj-column> | ||
</mj-section> | ||
<mj-style> | ||
@media only screen and (max-width: 799px) { | ||
.text > div { | ||
text-align: inherit !important; | ||
} | ||
|
||
.wrapper > table > tbody > tr > td { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
.section > table > tbody > tr > td { | ||
padding-left: 20px !important; | ||
padding-right: 20px !important; | ||
} | ||
|
||
.column > table > tbody > tr > td { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
.padB40 { | ||
padding-bottom: 40px !important; | ||
} | ||
|
||
<mj-section padding-top="0"> | ||
<mj-column width="600px" background-color="#FFFFFF" border-radius="4px" border="1px solid #FFFFFF" padding="20px 10px"> | ||
<mj-text> Bonjour <%= data.first_name %> <%= data.last_name %>, </mj-text> | ||
<% if(data.is_delegated){ %> | ||
<mj-text>L'offre d'alternance que vous avez publiée pour <%= data.establishment_raison_sociale %> expire <%= dansXjours %></mj-text> | ||
<% } else { %> | ||
<mj-text> La diffusion de votre offre d'alternance expire <%= dansXjours %> et ne sera bientôt plus visible par les jeunes. </mj-text> | ||
<% } %> | ||
.image { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
<mj-text>Dîtes-nous où vous en êtes de votre recrutement.</mj-text> | ||
.image > table { | ||
text-align: center !important; | ||
margin: 0 auto !important; | ||
} | ||
|
||
.divider { | ||
padding-left: 0px !important; | ||
padding-right: 0px !important; | ||
} | ||
|
||
.button > table { | ||
width: 100% !important; | ||
} | ||
|
||
.button > table > tbody > tr > td > a { | ||
width: 80% !important; | ||
} | ||
} | ||
</mj-style> | ||
<mj-style inline="inline"> | ||
.column > table { border-collapse: separate; } | ||
</mj-style> | ||
<mj-font href="https://fonts.googleapis.com/css2?family=Public+Sans:wght@700&display=swap" name="Public Sans"></mj-font> | ||
</mj-head> | ||
<mj-body background-color="#f5f5fe" name="Entreprise - Rappel " width="800px"> | ||
<mj-wrapper border-radius="0px" css-class="wrapper" padding="32px 100px 32px 100px"> | ||
<mj-section border-radius="0px" css-class="section" name="mj-section_group"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="14.83%"> | ||
<mj-image align="left" alt="" css-class="image" src="<%= data.images.logoRf %>" width="89px"> | ||
|
||
<mj-text font-weight="700" padding-bottom="24px">Rappel de vos offres :</mj-text> | ||
</mj-image> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" padding="0px 24px 0px 24px" vertical-align="middle" width="34.83%"> | ||
<mj-image align="left" alt="" css-class="image" padding="17px 0px 17px 0px" src="<%= data.images.logoLba %>" width="160px"> | ||
|
||
<% data.offres.forEach((offre) => { %> | ||
</mj-image> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="top" width="50.33%"> | ||
|
||
<mj-wrapper padding="0px 0px 12px 0px"> | ||
<mj-column width="548px" padding="10px 0px" background-color="#F6F6F6"> | ||
<mj-text padding-bottom="0px">Métier: <b><%= offre.rome_appellation_label %></b> </mj-text> | ||
<mj-text padding-bottom="0px" padding-top="0px">Type de contrat: <b><%= offre.job_type %></b> </mj-text> | ||
<mj-text padding-bottom="0px" padding-top="0px">Niveau de formation: <b><%= offre.job_level_label %></b> </mj-text> | ||
<mj-text padding-top="0px">Date de début: <b><%= offre.job_start_date %></b> </mj-text> | ||
<mj-text padding-top="0" padding-bottom="0"><a href="<%= offre.pourvue %>">L'offre est pourvue</a></mj-text> | ||
<mj-text padding-top="0"><a href="<%= offre.supprimer %>">Supprimer l'offre</a></mj-text> | ||
</mj-column> | ||
</mj-wrapper> | ||
</mj-group> | ||
</mj-section> | ||
<mj-spacer height="24px"> | ||
|
||
<% }); %> | ||
</mj-spacer> | ||
<mj-section background-color="#ffffff" border-radius="4px" border="1px solid #e3e3fd" css-class="section" name="mj-section_group" padding="23px 23px 23px 23px"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="99.64%"> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="0px 0px 16px 0px"> | ||
Bonjour <%= data.first_name %> <%= data.last_name %>, | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="0px 0px 16px 0px"> | ||
<span style="color: #161616;">L’offre d’alternance que vous avez publiée pour</span><span style="font-family: Arial, Helvetica, Verdana, sans-serif; font-weight: 700; color: #161616;"> <%= data.establishment_raison_sociale %> </span><span style="color: #161616;">expire <%= dansXjours %>.</span> | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="0px 0px 16px 0px"> | ||
Connectez-vous à votre espace afin de gérer vos offres : | ||
<br/> | ||
</mj-text> | ||
<mj-button href="<%= data.connectionUrl %>" align="center" background-color="#000091" border-radius="0px" border="1px solid #000091" color="#ffffff" css-class="button" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-weight="700" inner-padding="4px 0px 4px 0px" line-height="24px" padding="0px 0px 0px 0px" width="123px"> | ||
Me connecter | ||
</mj-button> | ||
</mj-column> | ||
</mj-group> | ||
</mj-section> | ||
<mj-spacer height="24px"> | ||
|
||
<mj-text padding-top="24px">Connectez-vous à votre espace pour gérer l’intégralité de vos offres :</mj-text> | ||
<mj-button color="#ffffff" background-color="#000091" href="<%= data.url %>" padding-bottom="24px"> Se connecter </mj-button> | ||
</mj-spacer> | ||
<mj-section background-color="#ffffff" border-radius="4px" border="1px solid #e3e3fd" css-class="section" name="mj-section_group" padding="11px 23px 11px 23px"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" padding="0px 0px 0px 0px" vertical-align="middle" width="-198.92000000000002%"> | ||
<mj-text align="left" color="#000091" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="20px" font-weight="700" line-height="22px" padding="10px 0px 10px 0px"> | ||
Rappel de l’offre | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" padding="0px 0px 0px 0px" vertical-align="middle" width="99.64%"> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="10px 0px 0px 0px"> | ||
Métier : | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="700" line-height="24px" padding="0px 0px 10px 0px"> | ||
<%= offre.rome_appellation_label %> | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" padding="0px 0px 0px 0px" vertical-align="middle" width="99.64%"> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="10px 0px 0px 0px"> | ||
Type : | ||
<br/> | ||
</mj-text> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="700" line-height="24px" padding="0px 0px 10px 0px"> | ||
<%= offre.job_type %> | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
<mj-column border-radius="0px" css-class="column" padding="0px 478px 0px 0px" vertical-align="top" width="100%"> | ||
<mj-text align="left" color="#161616" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="16px" font-weight="400" line-height="24px" padding="10px 0px 10px 0px" text-decoration="underline"> | ||
<a href="<%= offre.supprimer %>" style="text-decoration: underline; color: inherit;"> | ||
Supprimer | ||
</a> | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
</mj-group> | ||
</mj-section> | ||
<mj-spacer height="24px"> | ||
|
||
<mj-section padding="0px"> | ||
<mj-column> | ||
<mj-divider border-width="1px" border-color="#E3E3FD" /> | ||
</mj-spacer> | ||
<mj-section border-radius="4px" css-class="section" name="mj-section_group"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="100%"> | ||
<mj-text align="left" color="#666666" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-weight="400" line-height="24px"> | ||
Ce courriel est généré automatiquement, vous ne pouvez pas y répondre. | ||
<br/>Pour toute question, consultez notre <a href="https://labonnealternance.apprentissage.beta.gouv.fr/faq" style="text-decoration: underline; color: inherit;">FAQ</a> ou écrivez-nous à <a href="mailto:labonnealternance@apprentissage.beta.gouv.fr" style="text-decoration: underline; color: inherit;">labonnealternance@apprentissage.beta.gouv.fr</a> | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
</mj-group> | ||
</mj-section> | ||
<mj-spacer height="24px"> | ||
</mj-spacer> | ||
<mj-section border-radius="4px" css-class="section" name="mj-section_group"> | ||
<mj-group> | ||
<mj-column border-radius="0px" css-class="column" vertical-align="middle" width="100%"> | ||
<mj-text align="left" color="#666666" css-class="text" font-family="Arial, Helvetica, Verdana, sans-serif" font-size="14px" font-weight="400" line-height="24px"> | ||
La bonne alternance est un site développé par la Mission interministérielle pour l'apprentissage, au sein de l’État, conformément aux missions d’intérêt public du ministère du Travail, du Plein emploi et de l’Insertion. | ||
<br/> | ||
<br/>Nous vous contactons car vous avez déposé une offre d'emploi en alternance. | ||
<br/> | ||
<br/>Nous ne faisons aucune utilisation commerciale de vos adresses e-mail. Vous bénéficiez d’un droit d’opposition que vous pouvez utiliser à tout moment via l’adresse <a href="mailto:labonnealternance@apprentissage.beta.gouv.fr?subject=Droit%20opposition" style="font-family: Arial, Helvetica, Verdana, sans-serif; font-weight: 400; text-decoration: underline; color: inherit;">labonnealternance@apprentissage.beta.gouv.fr</a> | ||
<br/> | ||
<br/>Si vos droits ne sont pas respectés, vous pouvez à tout moment introduire une réclamation auprès de la CNIL. Pour plus d’informations sur le traitement de vos données, vous pouvez vous rendre sur la <a href="https://labonnealternance.apprentissage.beta.gouv.fr/politique-de-confidentialite" style="font-family: Arial, Helvetica, Verdana, sans-serif; font-weight: 400; text-decoration: underline; color: inherit;">politique de confidentialité</a> de La bonne alternance. | ||
<br/> | ||
</mj-text> | ||
</mj-column> | ||
</mj-section> | ||
<mj-text> | ||
L'équipe La bonne alternance, <br /> | ||
Mission interministérielle pour l'apprentissage | ||
</mj-text> | ||
</mj-column> | ||
</mj-section> | ||
<mj-section padding-top="30px"> | ||
<mj-column> | ||
<mj-image src="<%= data.images.logoFooter %>" width="200px" align="left"></mj-image> | ||
</mj-column> | ||
</mj-section> | ||
</mj-group> | ||
</mj-section> | ||
</mj-wrapper> | ||
</mj-body> | ||
</mjml> |
364 changes: 279 additions & 85 deletions
364
server/static/templates/mail-nouvelle-offre-depot-simplifie.mjml.ejs
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.