Merge branch 'master' into dist/envole/6/master

This commit is contained in:
Arnaud Fornerot 2021-04-02 10:19:34 +02:00
commit a2a54c3501
13 changed files with 51 additions and 26 deletions

View File

@ -300,7 +300,9 @@ class FileController extends Controller
$urlsource= $fulldirectory."/".$oldname; $urlsource= $fulldirectory."/".$oldname;
$urldestination = $fulldirectory."/".$data["subdirectory"]; $urldestination = $fulldirectory."/".$data["subdirectory"];
if($urlsource!=$urldestination) { if($urlsource!=$urldestination) {
if($fs->exists($urldestination)) { if($fs->exists($urldestination)) {
$form->addError(new FormError('Ce nom existe déjà')); $form->addError(new FormError('Ce nom existe déjà'));
$this->get('session')->getFlashBag()->clear(); $this->get('session')->getFlashBag()->clear();

View File

@ -212,7 +212,7 @@ class RegistrationController extends Controller
// Sur erreur // Sur erreur
$this->getErrorForm(null,$form,$request,$data,"submit",$idstatut); $this->getErrorForm(null,$form,$request,$data,"submit",$idstatut);
// Sur validation(z) // Sur validation
if ($form->get('submit')->isClicked() && $form->isValid()) { if ($form->get('submit')->isClicked() && $form->isValid()) {
$data = $form->getData(); $data = $form->getData();
@ -342,6 +342,8 @@ class RegistrationController extends Controller
// A voir retour sur un écran d'info indiquant si validation par admion ou s'il doit matter ses email // A voir retour sur un écran d'info indiquant si validation par admion ou s'il doit matter ses email
$this->get('session')->set('registrationinfo', $info); $this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', "info"); $this->get('session')->set('registrationmode', "info");
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info'); return $this->redirectToRoute('cadoles_core_registration_info');
} }
else { else {
@ -360,12 +362,16 @@ class RegistrationController extends Controller
{ {
$info = $this->get('session')->get('registrationinfo'); $info = $this->get('session')->get('registrationinfo');
$mode = $this->get('session')->get('registrationmode'); $mode = $this->get('session')->get('registrationmode');
$redirectto = $this->get('session')->get('registrationredirectto');
return $this->render($this->labelentity.':info.html.twig', [ return $this->render($this->labelentity.':info.html.twig', [
'useheader' => true, 'useheader' => true,
'usemenu' => false, 'usemenu' => false,
'usesidebar' => false, 'usesidebar' => false,
'info' => $info, 'info' => $info,
'mode' => $mode 'mode' => $mode,
'redirectto' => $redirectto,
]); ]);
} }
@ -467,6 +473,7 @@ class RegistrationController extends Controller
{ {
$moderegistration = $this->getParameter('moderegistration'); $moderegistration = $this->getParameter('moderegistration');
$masteridentity = $this->getParameter('masteridentity'); $masteridentity = $this->getParameter('masteridentity');
if($moderegistration=="none"||$masteridentity!="SQL") if($moderegistration=="none"||$masteridentity!="SQL")
throw $this->createNotFoundException('Permission denied'); throw $this->createNotFoundException('Permission denied');
@ -489,6 +496,7 @@ class RegistrationController extends Controller
$this->get('session')->set('registrationinfo', $info); $this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode); $this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
} }
else { else {
$url=$this->getUrlLogin(); $url=$this->getUrlLogin();
@ -539,10 +547,17 @@ class RegistrationController extends Controller
// Si invitation à un groupe : on le rattache directement à ce groupe // Si invitation à un groupe : on le rattache directement à ce groupe
$groupid=$data[0]->getGroupid(); $groupid=$data[0]->getGroupid();
$userid=$user->getId(); $userid=$user->getId();
if($groupid) { if($groupid) {
$group=$em->getRepository("CadolesCoreBundle:Group")->find($groupid); $group=$em->getRepository("CadolesCoreBundle:Group")->find($groupid);
if($group) { if($group) {
$idpage =$group->getPages()->first()->getId();
$url = $this->generateUrl('cadoles_core_redirect', ["route"=>"cadoles_core_home","id"=>$idpage], UrlGeneratorInterface::ABSOLUTE_URL);
$info="<p>Votre compte est à présent activé</p><p>Vous allez être redirigé vers la mire de connexion puis vers votre groupe de travail</p><p><a href='".$url."'>Connexion</a>";
$this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationredirectto', $url);
$key = Uuid::uuid4(); $key = Uuid::uuid4();
$usergroup=new UserGroup(); $usergroup=new UserGroup();
$user=$em->getRepository("CadolesCoreBundle:User")->find($userid); $user=$em->getRepository("CadolesCoreBundle:User")->find($userid);
@ -688,6 +703,7 @@ class RegistrationController extends Controller
$mode="info"; $mode="info";
$this->get('session')->set('registrationinfo', $info); $this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode); $this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info'); return $this->redirectToRoute('cadoles_core_registration_info');
} }
@ -724,6 +740,7 @@ class RegistrationController extends Controller
$mode="danger"; $mode="danger";
$this->get('session')->set('registrationinfo', $info); $this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode); $this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info'); return $this->redirectToRoute('cadoles_core_registration_info');
} }
else { else {
@ -783,6 +800,7 @@ class RegistrationController extends Controller
$mode="success"; $mode="success";
$this->get('session')->set('registrationinfo', $info); $this->get('session')->set('registrationinfo', $info);
$this->get('session')->set('registrationmode', $mode); $this->get('session')->set('registrationmode', $mode);
$this->get('session')->set('registrationredirectto', null);
return $this->redirectToRoute('cadoles_core_registration_info'); return $this->redirectToRoute('cadoles_core_registration_info');
} }

View File

@ -110,7 +110,8 @@ class RegistrationType extends AbstractType
"type" => PasswordType::class, "type" => PasswordType::class,
"required" => ($options["mode"]=="submit"?true:false), "required" => ($options["mode"]=="submit"?true:false),
"first_options" => array("label" => "Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px", "autocomplete" => "new-password")), "first_options" => array("label" => "Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px", "autocomplete" => "new-password")),
"second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")) "second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"invalid_message" => "Mot de passe non valide"
) )
); );

View File

@ -45,7 +45,8 @@ class ResetpwdType extends AbstractType
"required" => ($options["mode"]=="submit"?true:false), "required" => ($options["mode"]=="submit"?true:false),
"options" => array("always_empty" => true), "options" => array("always_empty" => true),
"first_options" => array("label" => "Votre nouveau Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px")), "first_options" => array("label" => "Votre nouveau Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"second_options" => array('label' => 'Confirmer votre nouveau Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")) "second_options" => array('label' => 'Confirmer votre nouveau Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"invalid_message" => "Mot de passe non valide"
) )
); );
} }

View File

@ -141,7 +141,8 @@ class UserType extends AbstractType
"required" => ($options["mode"]=="submit"?true:false), "required" => ($options["mode"]=="submit"?true:false),
"options" => array("always_empty" => true), "options" => array("always_empty" => true),
"first_options" => array("label" => "Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px", "autocomplete" => "new-password")), "first_options" => array("label" => "Mot de Passe","attr" => array("class" => "form-control", "style" => "margin-bottom:15px", "autocomplete" => "new-password")),
"second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")) "second_options" => array('label' => 'Confirmer Mot de Passe',"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")),
"invalid_message" => "Mot de passe non valide"
) )
); );
} }

View File

@ -46,7 +46,8 @@
$('document').ready(function(){ $('document').ready(function(){
{% if toclose %} {% if toclose %}
parent.location.reload(); href=parent.location.href;
parent.location.href=href;
{% endif %} {% endif %}
$("#form_subdirectory").focus(); $("#form_subdirectory").focus();

View File

@ -38,7 +38,7 @@
<th>Email</th> <th>Email</th>
<th class="no-sort no-visible">Visite</th> <th class="no-sort no-visible">Visite</th>
{% if group.fgcanshare %} {% if group.fgcanshare %}
<th class="no-sort no-visible">Manager</th> <th class="no-sort no-visible">Permissions</th>
{% endif %} {% endif %}
</tr> </tr>
</thead> </thead>
@ -65,7 +65,7 @@
<th>Email</th> <th>Email</th>
<th class="no-sort">Visite</th> <th class="no-sort">Visite</th>
{% if group.fgcanshare %} {% if group.fgcanshare %}
<th class="no-sort">Manager</th> <th class="no-sort">Permissions</th>
{% endif %} {% endif %}
</tr> </tr>
</thead> </thead>
@ -89,10 +89,10 @@
<thead> <thead>
<tr> <tr>
<th>Permissions</th> <th>Permissions</th>
<th>Propriétaire</th> <th style="text-align:center">Propriétaire<br>***</th>
<th>Gestionnaire</th> <th style="text-align:center">Gestionnaire<br>**</th>
<th>Collaborateur</th> <th style="text-align:center">Collaborateur<br>*</th>
<th>Utilisateur</th> <th style="text-align:center">Utilisateur<br>&nbsp;</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -149,14 +149,14 @@
<td>x</td> <td>x</td>
</tr> </tr>
<tr> <tr>
<td style="text-align:left;">Sinscrire par soit même sur les groupes ouverts</td> <td style="text-align:left;">Sinscrire par soi-même sur les groupes ouverts</td>
<td>x</td> <td>x</td>
<td>x</td> <td>x</td>
<td>x</td> <td>x</td>
<td>x</td> <td>x</td>
</tr> </tr>
<tr> <tr>
<td style="text-align:left;">Se désinscrire par soit même </td> <td style="text-align:left;">Se désinscrire par soi-même </td>
<td></td> <td></td>
<td>x</td> <td>x</td>
<td>x</td> <td>x</td>

View File

@ -110,9 +110,8 @@
{% if form.email is defined %} {% if form.email is defined %}
{{ form_row(form.email) }} {{ form_row(form.email) }}
<div class='alert alert-info alert-email' style='display:none; font-size: 80%;padding: 5px;margin-top: -10px;'> <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> Votre mail ne fait pas partie des mails professonniels pré-inscrits dans {{app.session.get("appname")}}.<br>
Merci de bien vouloir privilégier votre adresse professionnelle si vous en avez une.<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.
Si ce nest pas le cas, il faut que vous renseigniez la case motivation de votre demande.
</div> </div>
{% endif %} {% endif %}
{% if form.visible is defined %} {{ form_row(form.visible) }} {% endif %} {% if form.visible is defined %} {{ form_row(form.visible) }} {% endif %}

View File

@ -18,7 +18,9 @@
$(document).ready(function() { $(document).ready(function() {
// Redirection vers la mire d'authentification // Redirection vers la mire d'authentification
setTimeout(function(){ setTimeout(function(){
{% if mode_auth == "SAML" %} {% if redirectto is defined and redirectto is not null %}
window.location.href="{{ redirectto }}";
{% elseif mode_auth == "SAML" %}
window.location.href="{{ path("lightsaml_sp.login") }}"; window.location.href="{{ path("lightsaml_sp.login") }}";
{% elseif mode_auth == "CAS" %} {% elseif mode_auth == "CAS" %}
window.location.href="{{ path("cas_sp.login") }}"; window.location.href="{{ path("cas_sp.login") }}";
@ -32,6 +34,5 @@
}, 6000); }, 6000);
}); });
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@ -1526,7 +1526,7 @@ class PagewidgetController extends Controller
if($this->usage=="group") { if($this->usage=="group") {
$groupentity=$this->em->getRepository("CadolesCoreBundle:Group")->find($this->group); $groupentity=$this->em->getRepository("CadolesCoreBundle:Group")->find($this->group);
if($groupentity) { if($groupentity) {
$title=$groupentity->getLabel(); $title=$this->entity->getPage()->getName();
$id=$groupentity->getId(); $id=$groupentity->getId();
if($groupentity->getDescription()) if($groupentity->getDescription())
$description="<strong>Description</strong><br>".$groupentity->getDescription(); $description="<strong>Description</strong><br>".$groupentity->getDescription();

View File

@ -538,9 +538,10 @@
{% if app.user %} {% if app.user %}
if($("#page-"+idpage).length) { if($("#page-"+idpage).length) {
if(pagebookmark==idpage) if(pagebookmark==idpage)
confirmtext="Êtes-vous sûr de vouloir enlever cette page comme page d'accueil du portail ?"; confirmtext="Votre page d'accueil redevient l'accueil général de {{ app.session.get("appname") }}.";
else else
confirmtext="Êtes-vous sûr de vouloir placer cette page comme page d'accueil du portail ?"; confirmtext="Cette page sera votre page d'acueil à l'ouverture de {{ app.session.get("appname") }}, vous pourrez à tout moment changer de page d'accueil.";
if (confirm(confirmtext)) { if (confirm(confirmtext)) {
$.ajax({ $.ajax({
method: "POST", method: "POST",

View File

@ -37,7 +37,7 @@
{% if usage=="group" and firstcalendar is defined %} {% if usage=="group" and firstcalendar is defined %}
{% set url= path('cadoles_portal_'~access~'_calendar_view',{id:firstcalendar}) %} {% set url= path('cadoles_portal_'~access~'_calendar_view',{id:firstcalendar}) %}
{% endif %} {% endif %}
<a title="Gérer mes Calendriers" onClick="showFrameitem('calendar','{{ url }}',true)" style="{{ stylewidgetmenu }}"><i class="fa fa-calendar fa-fw"></i></a> <a title="Ajouter / Modifier un Evènement" onClick="showFrameitem('calendar','{{ url }}',true)" style="{{ stylewidgetmenu }}"><i class="fa fa-plus fa-fw"></i></a>
{% endif %} {% endif %}
{% if look=="list" %} {% if look=="list" %}

View File

@ -196,7 +196,7 @@
<label class="control-label required">Destinataires<span class="mandatory">*</span></label> <label class="control-label required">Destinataires<span class="mandatory">*</span></label>
<select id="destinataires" style="width:100%" name="states[]" multiple="multiple"> <select id="destinataires" style="width:100%" name="states[]" multiple="multiple">
{% for user in group.users %} {% for user in group.users |sort((a, b) => a.user.lastname <=> b.user.lastname) %} %}
{%if(user.user!=app.user)%} {%if(user.user!=app.user)%}
<option value="{{user.user.email}}" data-image="\{{alias}}\uploads\avatar\{{user.user.avatar}}">{{user.user.lastname}} {{user.user.firstname}}</option> <option value="{{user.user.email}}" data-image="\{{alias}}\uploads\avatar\{{user.user.avatar}}">{{user.user.lastname}} {{user.user.firstname}}</option>
{%endif%} {%endif%}