308 lines
12 KiB
Twig
Executable File
308 lines
12 KiB
Twig
Executable File
{% extends 'base.html.twig' %}
|
|
|
|
{% block localstyle %}
|
|
<style>
|
|
.captcha_image {
|
|
display:block;
|
|
}
|
|
#alertpassword input,#alertpassword label { display:none }
|
|
#alertpassword .form-group {margin:0px !important }
|
|
</style>
|
|
{% endblock %}
|
|
{% block body %}
|
|
{{ form_start(form) }}
|
|
|
|
{% if appModeregistration!="none" %}
|
|
<h1 class="page-header">
|
|
{% if mode=="update" %}
|
|
Confirmation à l'Utilisateur = {{ registration.username }}
|
|
{% elseif mode=="submit" %}
|
|
Inscription
|
|
{% endif %}
|
|
</h1>
|
|
|
|
{{ form_widget(form.submit) }}
|
|
|
|
{% if mode=="update" %}
|
|
{{ form_widget(form.save) }}
|
|
<a class="btn btn-secondary" href="mailto:{{registration.email}}?subject= {{app.session.get('appname')}} : à propos de votre inscription">Envoyer un mail</a>
|
|
<a class="btn btn-secondary" href={{ path('app_'~access~'_registration') }}>Annuler</a>
|
|
<a class="btn btn-danger float-end" href={{ path('app_'~access~'_registration_delete',{id:registration.id}) }} data-method="delete" data-confirm="Êtes-vous sûr de vouloir supprimer cet enregistrement ?">Supprimer</a>
|
|
{%endif%}
|
|
|
|
<br><br>
|
|
|
|
|
|
{% if app.session.flashbag.has('error') %}
|
|
<div class='alert alert-danger' style='margin: 5px 0px'>
|
|
<strong>Erreur</strong><br>
|
|
{% for flashMessage in app.session.flashbag.get('error') %}
|
|
{{ flashMessage | raw }}<br>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if app.session.flashbag.has('notice') %}
|
|
<div class='alert alert-info' style='margin: 5px 0px'>
|
|
<strong>Information</strong><br>
|
|
{% for flashMessage in app.session.flashbag.get('notice') %}
|
|
{{ flashMessage | raw }}<br>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if mode=="send" %}
|
|
<div class='alert alert-info' style='margin: 5px 0px'>
|
|
<strong>Information</strong><br>
|
|
Cette action permet de générer une nouvelle clé de validation et de renouveller la date d'expiration de cette clé.<br>
|
|
Un email sera envoyé à l'utilisateur
|
|
</div>
|
|
<br>
|
|
{% endif %}
|
|
|
|
<div class="row">
|
|
{% if mode=="update" %}
|
|
<div class="col-sm-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<i class="fa fa-key fa-fw"></i> Notes Administrateur
|
|
</div>
|
|
<div class="card-body">
|
|
{{ form_widget(form.note) }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{%endif%}
|
|
|
|
<div class="col-sm-6">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<i class="fa fa-key fa-fw"></i> Connexion
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
{{ form_row(form.username) }}
|
|
|
|
<div class='alert alert-info' style='font-size: 80%;padding: 5px;margin-top:-2px; border-radius:0px 0px 0.25rem 0.25rem'>
|
|
Formatez votre login sous la forme prenom.nom dans la mesure du possible<br>
|
|
Taille minimum = 5 caractères<br>
|
|
Caractères interdits = accent, espace, caractères spéciaux sauf @ . - _<br>
|
|
</div>
|
|
|
|
{% if form.password is defined %}
|
|
{{ form_row(form.password) }}
|
|
<div id="alertpassword">{{ form_row(form.passwordplain) }}</div>
|
|
<div class='alert alert-info' style='font-size: 80%;padding: 5px;margin-top:-2px; border-radius:0px 0px 0.25rem 0.25rem'>
|
|
Le mot de passe doit comporter au moins 8 caractères, avec obligatoirement des lettres, chiffres et caractères spéciaux.
|
|
</div>
|
|
|
|
{% if form.captcha is defined %}
|
|
{{ form_row(form.captcha) }}
|
|
{% endif %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card mt-3">
|
|
<div class="card-header">
|
|
<i class="fa fa-pencil-alt fa-fw"></i> Motivations
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
{{ form_row(form.motivation) }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-6">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<i class="fa fa-pencil fa-fw"></i> Informations
|
|
</div>
|
|
<div class="card-body">
|
|
{{ form_row(form.niveau01) }}
|
|
{%if form.niveau02 is defined %}{{ form_row(form.niveau02) }}{%endif%}
|
|
{%if form.niveau03 is defined %}{{ form_row(form.niveau03) }}{%endif%}
|
|
{%if form.niveau04 is defined %}{{ form_row(form.niveau04) }}{%endif%}
|
|
{{ form_row(form.firstname) }}
|
|
{{ form_row(form.lastname) }}
|
|
{{ form_row(form.email) }}
|
|
<div class='alert alert-info alert-email' style='display:none; font-size: 80%;padding: 5px;margin-top:-2px; border-radius:0px 0px 0.25rem 0.25rem'>
|
|
Votre mail ne fait pas partie des mails professonniels pré-inscrits dans {{app.session.get("appname")}}.<br>
|
|
S'il s'agit de votre mail professionnel vous devez compléter le formulaire "Motivations" pour que l'administrateur de {{app.session.get("appname")}} valide votre demannde d'inscription.
|
|
</div>
|
|
{{ form_row(form.isvisible) }}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card mt-3">
|
|
<div class="card-header">
|
|
<i class="fa fa-sitemap fa-fw"></i> Organisation
|
|
</div>
|
|
<div class="card-body">
|
|
{{ form_row(form.job) }}
|
|
{{ form_row(form.position) }}
|
|
{{ form_row(form.postaladress) }}
|
|
{{ form_row(form.telephonenumber) }}
|
|
</div>
|
|
</div>
|
|
|
|
{% if auditUse and mode=="update" and (access=="admin" or access=="modo" or access=="audit") %}
|
|
{{ render(path("app_"~access~"_audit_renderid",{entityname:"Registration",entityid:registration.id})) }}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{{ form_end(form) }}
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block localscript %}
|
|
<script>
|
|
$(document).ready(function() {
|
|
if(!$("#paneloption").find(".card-body").find("label").length) $("#paneloption").hide();
|
|
select2niveau02();
|
|
select2niveau03();
|
|
select2niveau04();
|
|
requireniveau();
|
|
});
|
|
|
|
function requireniveau() {
|
|
roles=["ROLE_USER"];
|
|
|
|
{% if "ALL" in appNiveau02mandatory %}
|
|
$("#registration_niveau02").attr("required","required");
|
|
$("label[for='registration_niveau02']").text("{{appNiveau02label}} *");
|
|
{% else %}
|
|
$("#registration_niveau02").removeAttr("required");
|
|
$("label[for='registration_niveau02']").text("{{appNiveau02label}}");
|
|
{% for mandatory in appNiveau02mandatory %}
|
|
if(roles.includes("{{ mandatory }}")) {
|
|
$("#registration_niveau02").attr("required","required");
|
|
$("label[for='registration_niveau02']").text("{{appNiveau02label}} *");
|
|
}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if "ALL" in appNiveau03mandatory %}
|
|
$("#registration_niveau03").attr("required","required");
|
|
$("label[for='registration_niveau03']").text("{{appNiveau03label}} *");
|
|
{% else %}
|
|
$("#registration_niveau03").removeAttr("required");
|
|
$("label[for='registration_niveau03']").text("{{appNiveau03label}}");
|
|
{% for mandatory in appNiveau03mandatory %}
|
|
if(roles.includes("{{ mandatory }}")) {
|
|
$("#registration_niveau03").attr("required","required");
|
|
$("label[for='registration_niveau03']").text("{{appNiveau03label}} *");
|
|
}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if "ALL" in appNiveau04mandatory %}
|
|
$("#registration_niveau04").attr("required","required");
|
|
$("label[for='registration_niveau04']").text("{{appNiveau04label}} *");
|
|
{% else %}
|
|
$("#registration_niveau04").removeAttr("required");
|
|
$("label[for='registration_niveau04']").text("{{appNiveau04label}}");
|
|
{% for mandatory in appNiveau04mandatory %}
|
|
if(roles.includes("{{ mandatory }}")) {
|
|
$("#registration_niveau04").attr("required","required");
|
|
$("label[for='registration_niveau04']").text("{{appNiveau04label}} *");
|
|
}
|
|
{% endfor %}
|
|
{% endif %}
|
|
}
|
|
|
|
$(document.body).on("change","#registration_niveau01",function(){
|
|
$("#registration_niveau02").empty();
|
|
$("#registration_niveau03").empty();
|
|
$("#registration_niveau04").empty();
|
|
select2niveau02();
|
|
select2niveau03();
|
|
select2niveau04();
|
|
});
|
|
|
|
$(document.body).on("change","#registration_niveau02",function(){
|
|
$("#registration_niveau03").empty();
|
|
$("#registration_niveau04").empty();
|
|
select2niveau03();
|
|
select2niveau04();
|
|
});
|
|
|
|
$(document.body).on("change","#registration_niveau03",function(){
|
|
$("#registration_niveau04").empty();
|
|
select2niveau04();
|
|
});
|
|
|
|
function select2niveau02() {
|
|
$('#registration_niveau02').select2({
|
|
theme: 'bootstrap4',
|
|
language: "fr",
|
|
ajax: {
|
|
data: function (params) {
|
|
var query = {
|
|
niveau01: $("#registration_niveau01").val(),
|
|
}
|
|
return query;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function select2niveau03() {
|
|
$('#registration_niveau03').select2({
|
|
theme: 'bootstrap4',
|
|
language: "fr",
|
|
ajax: {
|
|
data: function (params) {
|
|
var query = {
|
|
niveau02: $("#registration_niveau02").val(),
|
|
}
|
|
return query;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function select2niveau04() {
|
|
$('#registration_niveau04').select2({
|
|
theme: 'bootstrap4',
|
|
language: "fr",
|
|
ajax: {
|
|
data: function (params) {
|
|
var query = {
|
|
niveau03: $("#registration_niveau03").val(),
|
|
}
|
|
return query;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
$(document.body).on("focusout","#registration_email",function(){
|
|
$.ajax({
|
|
method: "POST",
|
|
url: "{{ path('app_whitelist_is') }}",
|
|
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");
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
</script>
|
|
{% endblock %}
|