Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
jdev
jdev-boarding
Commits
57472c2d
Commit
57472c2d
authored
Feb 13, 2017
by
François Agneray
Browse files
Redaction des mails
parent
6359f49c
Changes
7
Hide whitespace changes
Inline
Side-by-side
app/actions.php
View file @
57472c2d
...
...
@@ -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
)
{
...
...
app/routes.php
View file @
57472c2d
...
...
@@ -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'
);
...
...
app/src/Action/InscriptionAction.php
View file @
57472c2d
...
...
@@ -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='
.
$
e
mail
.
'&key='
.
$
c
leEmail
;
$url
.
=
'/valid-email?email='
.
$
participant
->
getE
mail
()
.
'&key='
.
$
participant
->
getC
leEmail
()
;
$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
([
$
e
mail
])
->
setTo
([
$
participant
->
getE
mail
()
])
->
setBody
(
$body
);
$this
->
mailer
->
send
(
$message
);
...
...
app/src/Action/ValidEmailAction.php
View file @
57472c2d
...
...
@@ -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
);
}
}
app/templates/connexion.twig
View file @
57472c2d
...
...
@@ -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>
...
...
app/templates/dashboard_home.twig
View file @
57472c2d
...
...
@@ -26,9 +26,9 @@
<hr>
<h4><i
class=
"fa fa-info-circle"
></i>
Les frais d'inscription couvrent les prestations suivantes
</h4>
<ul>
<li>
l
a participation aux journées (présentations, ateliers, groupes de travail, posters),
</li>
<li>
l
es documents fournis
,
les goodies,
</li>
<li>
l
es pauses-café, les buffets du midi, le concert et le buffet dînatoire du mercredi soir.
</li>
<li>
L
a participation aux journées
JDEV2017
(présentations, ateliers, groupes de travail, posters),
</li>
<li>
L
es documents fournis
et
les goodies,
</li>
<li>
L
es pauses-café, les buffets du midi, le concert et le buffet dînatoire du mercredi soir.
</li>
</ul>
<hr>
...
...
app/templates/valid_email.twig
View file @
57472c2d
...
...
@@ -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
valid
er votre compte participant.
Dans le cas ou vous ne recevez pas le mail de confirmation d'inscription, veuillez contacter jdev2017-inscription@devlog.cnrs.
f
r en
indiquant votre nom, prénom et adresse email pour que nous puissions valider avec vous les informations et ainsi
activ
er 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
%}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment