Commit 57472c2d authored by François Agneray's avatar François Agneray
Browse files

Redaction des mails

parent 6359f49c
......@@ -12,7 +12,7 @@ $container[App\Action\VerifEmailAction::class] = function ($c) {
};
$container[App\Action\ValidEmailAction::class] = function ($c) {
return new App\Action\ValidEmailAction($c->get('view'), $c->get('logger'), $c->get('em'));
return new App\Action\ValidEmailAction($c->get('view'), $c->get('logger'), $c->get('em'), $c->get('mailer'));
};
$container[App\Action\ProgrammeAction::class] = function ($c) {
......
......@@ -24,8 +24,8 @@ $app->get('/info-generales', App\Action\InfoGeneralesAction::class)
$app->map(['GET', 'POST'], '/inscription', App\Action\InscriptionAction::class)
->setName('inscription');
$app->get('/confirm_inscription', App\Action\ConfirmInscriptionAction::class)
->setName('confirm_inscription');
//$app->get('/confirm-inscription', App\Action\ConfirmInscriptionAction::class)
// ->setName('confirm_inscription');
$app->get('/new-passwd', App\Action\NewPasswdAction::class)
->setName('new_passwd');
......
......@@ -113,7 +113,7 @@ final class InscriptionAction
$response = $response->write(implode(PHP_EOL, $messages))->withStatus($code);
} else {
$participant = $this->createParticipant($parsedBody, $organisme);
$this->sendEmail($request, $participant->getEmail(), $participant->getCleEmail());
$this->sendEmail($request, $participant);
$response = $response->write('Nouvel utilisateur enregistré')->withStatus(201);
}
}
......@@ -354,23 +354,26 @@ final class InscriptionAction
}
}
private function sendEmail($request, $email, $cleEmail)
private function sendEmail($request, $participant)
{
$url = $request->getUri()->getScheme() . '://' . $request->getUri()->getHost();
if ($request->getUri()->getPort() != 80) {
$url .= ':' . $request->getUri()->getPort();
}
$url .= '/valid-email?email=' . $email . '&key=' . $cleEmail;
$url .= '/valid-email?email=' . $participant->getEmail() . '&key=' . $participant->getCleEmail();
$body = 'Votre adresse e-mail est : ' . $email . PHP_EOL;
$body .= 'Votre clé d\'activation est : ' . $cleEmail . PHP_EOL;
$body .= 'Pour activer votre compte vous devez valider votre adresse e-mail : ' . PHP_EOL;
$body .= ' - soit en cliquant sur le lien suivant ' . $url . PHP_EOL;
$body .= ' - soit en vous rendant dans la page de validation de l\'adresse e-mail sur le site web';
$body = 'Bonjour ' . $participant->getPrenom() . ' ' . $participant->getNom() . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Afin d\'activer votre compte, veuillez cliquer sur le lien ';
$body .= 'ci-dessous pour vérifier votre adresse e-mail : ' . PHP_EOL;
$body .= $url . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Bien cordialement' . PHP_EOL;
$body .= 'Le comité d\'ogranisation des JDEV2017';
$message = \Swift_Message::newInstance('Bienvenue')
->setFrom(['contact@jdev2017.fr' => 'jdev2017.fr'])
->setTo([$email])
->setTo([$participant->getEmail()])
->setBody($body);
$this->mailer->send($message);
......
......@@ -12,27 +12,38 @@ final class ValidEmailAction
private $view;
private $logger;
private $em;
private $mailer;
public function __construct(Twig $view, LoggerInterface $logger, EntityManagerInterface $em)
public function __construct(Twig $view, LoggerInterface $logger, EntityManagerInterface $em, $mailer)
{
$this->view = $view;
$this->logger = $logger;
$this->em = $em;
$this->mailer = $mailer;
}
public function __invoke(Request $request, Response $response, $args)
{
$this->logger->info("Valid email action dispatched");
$bool = 'false';
$params = $request->getQueryParams();
if (isset($params['key']) && isset($params['email'])) {
$participant = $this->em->getRepository('App\Entity\Participant')->findOneBy(array('email' => $params['email']));
if (isset($participant) && $participant->getCleEmail() == $params['key']) {
$bool = 'true';
if (isset($participant) && $participant->getEmailValide()) {
$this->view->render($response, 'connexion.twig', [
'page' => 'connexion',
'info' => 'Votre compte JDEV2017 est déjà actif'
]);
}
else if (isset($participant) && $participant->getCleEmail() == $params['key']) {
$participant->setEmailValide(true);
$this->em->flush();
if ($participant->getPassPrepaye()) {
$this->sendEmailPassPrepaye($participant);
} else {
$this->sendEmailAzurColloque($participant);
}
$this->view->render($response, 'connexion.twig', [
'page' => 'connexion',
'info' => 'Adresse e-mail validé. Vous pouvez maintenant vous connecter'
......@@ -51,4 +62,66 @@ final class ValidEmailAction
return $response;
}
private function sendEmailPassPrepaye($participant)
{
$body = 'Bonjour ' . $participant->getPrenom() . ' ' . $participant->getNom() . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Nous avons acté votre inscription aux JDEV2017.' . PHP_EOL;
$body .= 'Vos frais d\'inscription sont pris en charge par votre organisme (' . $participant->getOrganisme()->getLabel() . '), ';
$body .= 'sous réserve de la validation de la prise en charge des frais de missions par le Service Formation de votre Délégation d\'origine.' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Les frais d\'inscription couvrent les prestations suivantes : ' . PHP_EOL;
$body .= ' - La participation aux journées JDEV2017 (présentations, ateliers, groupes de travail, posters),' . PHP_EOL;
$body .= ' - Les documents fournis et les goodies,' . PHP_EOL;
$body .= ' - Les pauses-café, les buffets du midi, le concert et le buffet dînatoire du mecredi soir.' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Cette action de formation n\'étant pas en résidentiel, les frais d\'inscription ne couvrent pas : ' . PHP_EOL;
$body .= ' - Le déplacement et l\'hébergement, ' . PHP_EOL;
$body .= ' - Les repas de mardi et jeud soir.' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Pour la préparation de votre mission (hébergement, déplacement), il vous faudra vous rapprocher du ';
$body .= 'bureau de formation de votre institut en leur communiquant ce message qui vaut lieu de confirmation d\'inscription.' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Bien cordialement' . PHP_EOL;
$body .= 'Le comité d\'ogranisation des JDEV2017';
$message = \Swift_Message::newInstance('Compte participant JDEV2017 validé')
->setFrom(['contact@jdev2017.fr' => 'jdev2017.fr'])
->setTo([$participant->getEmail()])
->setBody($body);
$this->mailer->send($message);
}
private function sendEmailAzurColloque($participant)
{
$body = 'Bonjour ' . $participant->getPrenom() . ' ' . $participant->getNom() . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Nous avons acté votre inscription aux JDEV2017.' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Pour que votre inscription soit prise en compte, vous devez la finaliser par le paiement des frais d\'inscription ' ;
$body .= 'sur la plate-forme Azur-Colloque avant la clôture des inscriptions au 30 mai 2017 : ';
$body .= 'https://www.azur-colloque.fr/DR12/ .' . PHP_EOL;
$body .= 'Attention: Il est important d\'aller au bout du processus, ceci validant votre inscription' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Les frais d\'inscription couvrent les prestations suivantes : ' . PHP_EOL;
$body .= ' - La participation aux journées JDEV2017 (présentations, ateliers, groupes de travail, posters),' . PHP_EOL;
$body .= ' - Les documents fournis et les goodies,' . PHP_EOL;
$body .= ' - Les pauses-café, les buffets du midi, le concert et le buffet dînatoire du mecredi soir.' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'A la fin du processus d\'enregistrement, un pré-bon de commande édité automatiquement vous sera envoyé par mail. ' . PHP_EOL;
$body .= 'Celui-ci doit être retourné à l\'adresse indiqué par Azur-Colloque accompagné d\'un engagement financier pour régler ';
$body .= 'les frais d\'inscription de la part de votre organisme afin de valider réellement votre inscription à l\'évenement' . PHP_EOL;
$body .= PHP_EOL;
$body .= 'Bien cordialement' . PHP_EOL;
$body .= 'Le comité d\'ogranisation des JDEV2017';
$message = \Swift_Message::newInstance('Compte participant JDEV2017 validé')
->setFrom(['contact@jdev2017.fr' => 'jdev2017.fr'])
->setTo([$participant->getEmail()])
->setBody($body);
$this->mailer->send($message);
}
}
......@@ -27,7 +27,6 @@
<div class="row sign-in">
<div class="col-xs-10 col-sm-8 col-md-5 sign-in-form">
Mot de passe oublié ? <a href="new-passwd"> Nouveau mot de passe</a><br>
Valider votre E-mail <a href="valid-email"> Valider votre adresse E-mail</a><br>
</div>
</div>
</div>
......
......@@ -26,9 +26,9 @@
<hr>
<h4><i class="fa fa-info-circle"></i> Les frais d'inscription couvrent les prestations suivantes</h4>
<ul>
<li>la participation aux journées (présentations, ateliers, groupes de travail, posters),</li>
<li>les documents fournis, les goodies,</li>
<li>les pauses-café, les buffets du midi, le concert et le buffet dînatoire du mercredi soir.</li>
<li>La participation aux journées JDEV2017 (présentations, ateliers, groupes de travail, posters),</li>
<li>Les documents fournis et les goodies,</li>
<li>Les pauses-café, les buffets du midi, le concert et le buffet dînatoire du mercredi soir.</li>
</ul>
<hr>
......
......@@ -5,45 +5,21 @@
<div class="container">
<h2><i class="fa fa-envelope-square"></i> Validation de l'adresse E-Mail</h2>
<hr>
<p class="text-center" style="color: red;">{{ info }}</p>
<div class="row">
<div class="col-md-12">
<p>Féliciation vous venez de vous enregistrer aux JDEV2017 !</p>
<p>
Pour pouvoir vous connecter à l'espace participant et recevoir les e-mails d'informations, vous devez
tout d'abord valider votre adresse email :
<ul>
<li>Soit en cliquant sur le lien que vous avez reçu dans le mail de confirmation d'inscription.</li>
<li>
Soit en remplissant le formulaire ci-dessous avec votre adresse e-mail + la clé d'activation que vous
trouverez dans le mail de confirmation d'inscription.
</li>
</ul>
tout d'abord valider votre adresse e-mail en cliquant sur le lien contenu dans le mail de confirmation d'inscription.
</p>
<p>
Dans le cas ou vous ne recevez pas le mail de confirmation d'inscription, veuillez contacter jdev2017-inscription@devlog.cnrs.r en
indiquant votre nom, prénom et adresse email pour que nous puissions valider avec vous les informations et ainsi valider votre compte participant.
Dans le cas ou vous ne recevez pas le mail de confirmation d'inscription, veuillez contacter jdev2017-inscription@devlog.cnrs.fr en
indiquant votre nom, prénom et adresse email pour que nous puissions valider avec vous les informations et ainsi activer votre compte participant.
</p>
</div>
</div>
<hr>
<div class="row">
<div class="col-md-8">
<h4><i class="fa fa-sign-in"></i> Formulaire de validation de l'adrese E-mail</h4>
<p class="text-center" style="color: red;">{{ info }}</p>
<form method="GET" action="valid-email">
<div class="form-group">
<label for="email">E-Mail</label> <span style="color: red;">*</span>
<input type="text" class="form-control" name="email" id="email" placeholder="E-mail" required>
</div>
<div class="form-group">
<label for="key">Clé d'activation</label> <span style="color: red;">*</span>
<input type="text" class="form-control" name="key" id="key" placeholder="Clé d'activation" required>
</div>
<button type="submit" id="btn-valid-email-submit" class="btn btn-primary" value="Envoyer">Valider E-mail</button>
</form>
</div>
</div>
</div>
{% endblock %}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment