motivation obligatoire si mail non présent dans la liste blanche (ref #145)
This commit is contained in:
parent
f20eff9b05
commit
6baed4dea7
|
@ -195,8 +195,22 @@ class RegistrationController extends Controller
|
||||||
// Récupération des data du formulaire
|
// Récupération des data du formulaire
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
|
// si mode de registration byuser
|
||||||
|
if($moderegistration=="byuser") {
|
||||||
|
$idstatut=2;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// On recherche le domaine du mail dans la liste blanche
|
||||||
|
$email=explode("@",$data->getEmail());
|
||||||
|
$domaine=end($email);
|
||||||
|
$whitelist = $em->getRepository("CadolesCoreBundle:Whitelist")->findBy(["label"=>$domaine]);
|
||||||
|
$idstatut=(!$whitelist?1:2);
|
||||||
|
}
|
||||||
|
$statut = $em->getRepository("CadolesCoreBundle:Statut")->find($idstatut);
|
||||||
|
$data->setStatut($statut);
|
||||||
|
|
||||||
// Sur erreur
|
// Sur erreur
|
||||||
$this->getErrorForm(null,$form,$request,$data,"submit");
|
$this->getErrorForm(null,$form,$request,$data,"submit",$idstatut);
|
||||||
|
|
||||||
// Sur validation(z)
|
// Sur validation(z)
|
||||||
if ($form->get('submit')->isClicked() && $form->isValid()) {
|
if ($form->get('submit')->isClicked() && $form->isValid()) {
|
||||||
|
@ -219,22 +233,7 @@ class RegistrationController extends Controller
|
||||||
$password = $encoder->encodePassword($data->getPassword(),$data->getSalt());
|
$password = $encoder->encodePassword($data->getPassword(),$data->getSalt());
|
||||||
$data->setPassword($password);
|
$data->setPassword($password);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
// si mode de registration byuser
|
|
||||||
if($moderegistration=="byuser") {
|
|
||||||
$idstatut=2;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// On recherche le domaine du mail dans la liste blanche
|
|
||||||
$email=explode("@",$data->getEmail());
|
|
||||||
$domaine=end($email);
|
|
||||||
$whitelist = $em->getRepository("CadolesCoreBundle:Whitelist")->findBy(["label"=>$domaine]);
|
|
||||||
$idstatut=(!$whitelist?1:2);
|
|
||||||
}
|
|
||||||
$statut = $em->getRepository("CadolesCoreBundle:Statut")->find($idstatut);
|
|
||||||
$data->setStatut($statut);
|
|
||||||
|
|
||||||
// si non : validation par administrateur
|
// si non : validation par administrateur
|
||||||
if($idstatut==1) {
|
if($idstatut==1) {
|
||||||
// Email à destination de l'inscript pour le prévenir qu'un administrateur doit valider
|
// Email à destination de l'inscript pour le prévenir qu'un administrateur doit valider
|
||||||
|
@ -287,10 +286,17 @@ class RegistrationController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
$url = $this->generateUrl('cadoles_core_config_registration', [], UrlGeneratorInterface::ABSOLUTE_URL);
|
$url = $this->generateUrl('cadoles_core_config_registration', [], UrlGeneratorInterface::ABSOLUTE_URL);
|
||||||
|
$motivation = "Login = ".$data->getUsername()."\n";
|
||||||
|
$motivation.= "Nom = ".$data->getLastname()."\n";
|
||||||
|
$motivation.= "Prénom = ".$data->getFirstname()."\n";
|
||||||
|
$motivation.= "Mail = ".$data->getEmail()."\n";
|
||||||
|
$motivation.= $this->getParameter("labelniveau01")." = ".$data->getNiveau01()->getLabel()." ".$data->getNiveau01other()."\n\n";
|
||||||
|
$motivation.= $data->getMotivation();
|
||||||
|
|
||||||
$mail_params=array(
|
$mail_params=array(
|
||||||
"subject" => $appname." : Inscription à valider",
|
"subject" => $appname." : Inscription à valider",
|
||||||
"body_html"=>"Un utilisateur dont le mail n’est pas en liste blanche souhaite s’inscrire au ".$appname.".\nMerci d’approuver son inscription pour finaliser celle-ci.<br><br>Veuillez vérifier cette inscription à cette adresse:<br><a href='$url'>$url</a>",
|
"body_html"=>"Un utilisateur dont le mail n’est pas en liste blanche souhaite s’inscrire au ".$appname.".\nMerci d’approuver son inscription pour finaliser celle-ci.<br><br>Veuillez vérifier cette inscription à cette adresse:<br><a href='$url'>$url</a><br><br>".nl2br($motivation),
|
||||||
"body_text"=>"Un utilisateur dont le mail n’est pas en liste blanche souhaite s’inscrire au ".$appname.".\nMerci d’approuver son inscription pour finaliser celle-ci.\n\nVeuillez vérifier cette inscription à cette adresse:\n$url"
|
"body_text"=>"Un utilisateur dont le mail n’est pas en liste blanche souhaite s’inscrire au ".$appname.".\nMerci d’approuver son inscription pour finaliser celle-ci.\n\nVeuillez vérifier cette inscription à cette adresse:\n$url\n\n".$motivation
|
||||||
);
|
);
|
||||||
|
|
||||||
$message = $this->container->get('cadoles.core.service.mail');
|
$message = $this->container->get('cadoles.core.service.mail');
|
||||||
|
@ -386,7 +392,7 @@ class RegistrationController extends Controller
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
// Sur erreur
|
// Sur erreur
|
||||||
$this->getErrorForm($id,$form,$request,$data,"send");
|
$this->getErrorForm($id,$form,$request,$data,"send",null);
|
||||||
|
|
||||||
// Sur validation
|
// Sur validation
|
||||||
if ($form->get('save')->isClicked() && $form->isValid()) {
|
if ($form->get('save')->isClicked() && $form->isValid()) {
|
||||||
|
@ -581,7 +587,7 @@ class RegistrationController extends Controller
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
// Sur erreur
|
// Sur erreur
|
||||||
$this->getErrorForm($id,$form,$request,$data,"delete");
|
$this->getErrorForm($id,$form,$request,$data,"delete",null);
|
||||||
|
|
||||||
// Sur validation
|
// Sur validation
|
||||||
if ($form->get('submit')->isClicked() && $form->isValid()) {
|
if ($form->get('submit')->isClicked() && $form->isValid()) {
|
||||||
|
@ -838,7 +844,7 @@ class RegistrationController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function getErrorForm($id,$form,$request,$data,$mode) {
|
protected function getErrorForm($id,$form,$request,$data,$mode,$idstatut) {
|
||||||
if ($form->get('submit')->isClicked()&&$mode=="delete") {
|
if ($form->get('submit')->isClicked()&&$mode=="delete") {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -867,6 +873,12 @@ class RegistrationController extends Controller
|
||||||
$form->addError(new FormError("Merci d'indiquer votre ".$this->getParameter("labelniveau01")));
|
$form->addError(new FormError("Merci d'indiquer votre ".$this->getParameter("labelniveau01")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Si validation par administrateur demander une motivation
|
||||||
|
if(is_null($data->getMotivation() )) {
|
||||||
|
$form->addError(new FormError("Attention, le suffixe de votre adresse mail n’est pas dans la liste des administrations autorisées, merci de bien vouloir privilégier votre adresse professionnelle si vous en avez une.<br>Si ce n’est pas le cas, il faut que vous renseigniez la case motivation de votre demande"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($form->get('submit')->isClicked() && !$form->isValid()) {
|
if ($form->get('submit')->isClicked() && !$form->isValid()) {
|
||||||
|
|
|
@ -127,7 +127,12 @@ class Registration implements UserInterface, \Serializable
|
||||||
* @ORM\Column(type="string", length=150, nullable=true)
|
* @ORM\Column(type="string", length=150, nullable=true)
|
||||||
*/
|
*/
|
||||||
private $niveau01other;
|
private $niveau01other;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(name="description", type="text", nullable=true)
|
||||||
|
*/
|
||||||
|
private $motivation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="integer", length=60, nullable=true)
|
* @ORM\Column(type="integer", length=60, nullable=true)
|
||||||
*/
|
*/
|
||||||
|
@ -767,4 +772,28 @@ class Registration implements UserInterface, \Serializable
|
||||||
{
|
{
|
||||||
return $this->niveau01other;
|
return $this->niveau01other;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set motivation
|
||||||
|
*
|
||||||
|
* @param string $motivation
|
||||||
|
*
|
||||||
|
* @return Registration
|
||||||
|
*/
|
||||||
|
public function setMotivation($motivation)
|
||||||
|
{
|
||||||
|
$this->motivation = $motivation;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get motivation
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getMotivation()
|
||||||
|
{
|
||||||
|
return $this->motivation;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -307,6 +307,14 @@ class RegistrationType extends AbstractType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$builder->add('motivation',
|
||||||
|
TextareaType::class, array(
|
||||||
|
"label" => "Motivation",
|
||||||
|
"required" => false,
|
||||||
|
"disabled" => ($options["mode"]=="delete"?true:false),
|
||||||
|
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px; height: 90px")
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver)
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<div class='alert alert-danger' style='margin: 5px 0px'>
|
<div class='alert alert-danger' style='margin: 5px 0px'>
|
||||||
<strong>Erreur</strong><br>
|
<strong>Erreur</strong><br>
|
||||||
{% for flashMessage in app.session.flashbag.get('error') %}
|
{% for flashMessage in app.session.flashbag.get('error') %}
|
||||||
{{ flashMessage }}<br>
|
{{ flashMessage | raw }}<br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
<div class='alert alert-info' style='margin: 5px 0px'>
|
<div class='alert alert-info' style='margin: 5px 0px'>
|
||||||
<strong>Information</strong><br>
|
<strong>Information</strong><br>
|
||||||
{% for flashMessage in app.session.flashbag.get('notice') %}
|
{% for flashMessage in app.session.flashbag.get('notice') %}
|
||||||
{{ flashMessage }}<br>
|
{{ flashMessage | raw }}<br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -94,6 +94,16 @@
|
||||||
{% if form.visible is defined %} {{ form_row(form.visible) }} {% endif %}
|
{% if form.visible is defined %} {{ form_row(form.visible) }} {% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="panel panel-primary">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<i class="fa fa-pencil fa-fw"></i> Motivations
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="panel-body">
|
||||||
|
{{ form_row(form.motivation) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
|
|
Loading…
Reference in New Issue