diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php
index 7e5a3a90..e2f7bf16 100755
--- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php
+++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php
@@ -195,8 +195,22 @@ class RegistrationController extends Controller
// Récupération des data du formulaire
$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
- $this->getErrorForm(null,$form,$request,$data,"submit");
+ $this->getErrorForm(null,$form,$request,$data,"submit",$idstatut);
// Sur validation(z)
if ($form->get('submit')->isClicked() && $form->isValid()) {
@@ -219,22 +233,7 @@ class RegistrationController extends Controller
$password = $encoder->encodePassword($data->getPassword(),$data->getSalt());
$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
if($idstatut==1) {
// 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);
+ $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(
"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.
Veuillez vérifier cette inscription à cette adresse:
$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"
+ "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.
Veuillez vérifier cette inscription à cette adresse:
$url
".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\n\n".$motivation
);
$message = $this->container->get('cadoles.core.service.mail');
@@ -386,7 +392,7 @@ class RegistrationController extends Controller
$form->handleRequest($request);
// Sur erreur
- $this->getErrorForm($id,$form,$request,$data,"send");
+ $this->getErrorForm($id,$form,$request,$data,"send",null);
// Sur validation
if ($form->get('save')->isClicked() && $form->isValid()) {
@@ -581,7 +587,7 @@ class RegistrationController extends Controller
$form->handleRequest($request);
// Sur erreur
- $this->getErrorForm($id,$form,$request,$data,"delete");
+ $this->getErrorForm($id,$form,$request,$data,"delete",null);
// Sur validation
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") {
}
@@ -867,6 +873,12 @@ class RegistrationController extends Controller
$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.
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()) {
diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Registration.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Registration.php
index 5fb07eb6..a19080ea 100644
--- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Registration.php
+++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Entity/Registration.php
@@ -127,7 +127,12 @@ class Registration implements UserInterface, \Serializable
* @ORM\Column(type="string", length=150, nullable=true)
*/
private $niveau01other;
-
+
+ /**
+ * @ORM\Column(name="description", type="text", nullable=true)
+ */
+ private $motivation;
+
/**
* @ORM\Column(type="integer", length=60, nullable=true)
*/
@@ -767,4 +772,28 @@ class Registration implements UserInterface, \Serializable
{
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;
+ }
}
diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/RegistrationType.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/RegistrationType.php
index 18d12520..2cdbf8db 100644
--- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/RegistrationType.php
+++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Form/RegistrationType.php
@@ -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)
diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig
index aec4396a..e17afb0f 100755
--- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig
+++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig
@@ -32,7 +32,7 @@