ajustement sur le formulaire d'inscription (ref #220)

This commit is contained in:
afornerot 2021-03-18 16:18:24 +01:00
parent cf85ca9023
commit ecfce10e3b
7 changed files with 60 additions and 5 deletions

View File

@ -34,7 +34,7 @@ class MailController extends Controller
// Sujet
$url = $this->generateUrl('cadoles_core_registration',[], UrlGeneratorInterface::ABSOLUTE_URL)."?group=".$group->getId();
$message = "Bonjour,<br><br>En tant que responsable du projet <b>'".$group->getLabel()."'</b>, je vous ai invité à rejoindre cette communauté de travail<br><br>";
$message = "Bonjour,<br><br>En tant que responsable du groupe <b>'".$group->getLabel()."'</b>, je vous ai invité à rejoindre cette communauté de travail<br><br>";
$message.= "Merci de bien vouloir tout dabord vous inscrire sur <b>".$this->get('session')->get('appname')."</b> en suivant le lien suivant<br>";
$message.= "<a href='$url'>$url</a><br><br>";
$message.= "Une fois le processus d'inscription complété, vous serez automatiquement rattaché à notre groupe de travail<br><br>";

View File

@ -873,7 +873,7 @@ class RegistrationController extends Controller
$niveau01=strtolower($data->getNiveau01()->getLabel());
if(stripos($niveau01,"autre")===0) {
if(!$data->getNiveau01other()) {
$form->addError(new FormError("Merci d'indiquer votre ".$this->getParameter("labelniveau01")));
$form->addError(new FormError("Merci de compléter le champ 'Autre ".$this->getParameter("labelniveau01")."'"));
}
}

View File

@ -1483,7 +1483,7 @@ class UserController extends Controller
$niveau01=strtolower($data->getNiveau01()->getLabel());
if(stripos($niveau01,"autre")===0) {
if(!$data->getNiveau01other()) {
$form->addError(new FormError("Merci d'indiquer votre ".$this->getParameter("labelniveau01")));
$form->addError(new FormError("Merci de compléter le champ 'Autre ".$this->getParameter("labelniveau01")."'"));
}
}
}

View File

@ -207,6 +207,25 @@ class WhitelistController extends Controller
]);
}
public function ajaxiswhitelistAction(Request $request)
{
// S'assurer que c'est un appel ajax
if (!$request->isXmlHttpRequest()) {
return new JsonResponse(array('message' => 'Interdit'), 400);
}
$email=$request->request->get('email');
$email=explode("@",$email);
$domaine=end($email);
// Rechercher le mail dans la liste blanche
$em = $this->getDoctrine()->getManager();
$whitelist=$em->getRepository($this->labelentity)->findOneBy(["label"=>$domaine]);
if($whitelist)
return new Response("OK", 200);
else
return new Response("KO", 200);
}
protected function getDatas()
{
$em = $this->getDoctrine()->getManager();

View File

@ -96,7 +96,7 @@ class RegistrationType extends AbstractType
$builder->add('niveau01other',
TextType::class, array(
"label" =>"Autre ".$session->get('labelniveau01'),
"label" =>"Autre ".$session->get('labelniveau01'). " *",
"disabled" => ($options["mode"]=="delete"?true:false),
"required" => false,
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")

View File

@ -194,6 +194,10 @@ cadoles_core_ajax_item_list:
path: /ajax/item/list
defaults: { _controller: CadolesCoreBundle:Ajax:itemlist }
cadoles_core_ajax_iswhitelist:
path: /ajax/iswhitelist
defaults: { _controller: CadolesCoreBundle:Whitelist:ajaxiswhitelist }
#== Home Config ==========================================================================================================
cadoles_core_config:
path: /config/home

View File

@ -107,7 +107,14 @@
<div class="panel-body">
{% if form.firstname is defined %} {{ form_row(form.firstname) }} {% endif %}
{{ form_row(form.lastname) }}
{% if form.email is defined %} {{ form_row(form.email) }} {% endif %}
{% if form.email is defined %}
{{ form_row(form.email) }}
<div class='alert alert-info alert-email' style='display:none; font-size: 80%;padding: 5px;margin-top: -10px;'>
Attention, le suffixe de votre adresse mail nest pas dans la liste des administrations autorisées.<br>
Merci de bien vouloir privilégier votre adresse professionnelle si vous en avez une.<br>
Si ce nest pas le cas, il faut que vous renseigniez la case motivation de votre demande.
</div>
{% endif %}
{% if form.visible is defined %} {{ form_row(form.visible) }} {% endif %}
</div>
</div>
@ -213,6 +220,29 @@
});
});
$(document.body).on("focusout","#registration_email",function(){
$.ajax({
method: "POST",
url: "{{ path('cadoles_core_ajax_iswhitelist') }}",
data: {
email:$("#registration_email").val(),
},
success: function(data) {
if(data=="KO") {
$("#registration_motivation").attr("required","required");
$(".alert-email").show();
$("label[for='registration_motivation']").text("Motivation *");
}
else {
$("#registration_motivation").removeAttr("required");
$(".alert-email").hide();
$("label[for='registration_motivation']").text("Motivation");
}
}
});
});
function hideshow() {
if($("#registration_birthcountry").val()==269)
$("#blockcity").show();
@ -224,10 +254,12 @@
niveau01=$("#registration_niveau01 option:selected").text().toLowerCase();
if(niveau01.startsWith("autre")) {
$("#niveau01other").show();
$("#registration_niveau01other").attr("required","required");
}
else {
$("#registration_niveau01other").val("");
$("#niveau01other").hide();
$("#registration_niveau01other").removeAttr("required");
}
}