Commit d209c9a5 authored by David Surville's avatar David Surville
Browse files

Affichage uniquement des rôles rattachés à un périmètre dans la partie...

Affichage uniquement des rôles rattachés à un périmètre dans la partie périmètre de la page d'un utilisateur
parent 4ff9c82e
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -2,9 +2,11 @@

namespace UnicaenUtilisateur\Controller;

use BjyAuthorize\Provider\Identity\ProviderInterface;
use DateTime;
use Exception;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Laminas\View\Model\JsonModel;
use Laminas\View\Model\ViewModel;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenApp\View\Model\CsvModel;
use UnicaenPrivilege\Service\Perimetre\PerimetreServiceAwareTrait;
@@ -19,11 +21,6 @@ use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuResultatInterf
use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuServiceInterface;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
use Laminas\Http\Request;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Laminas\View\Model\JsonModel;
use Laminas\View\Model\ViewModel;

/**
 * @method FlashMessenger flashMessenger()
@@ -102,7 +99,10 @@ class UtilisateurController extends AbstractActionController
            $userRoleForm->get('role')->setValueOptions($roleOptions);

            // périmètres de l'utilisateur
            $rolePerimetreOptions = $this->roleService->getListForSelect($this->identityService->getUserRoles($utilisateur));
            $roles = array_filter($this->identityService->getUserRoles($utilisateur), function(RoleInterface $role) {
                  return !$role->getPerimetreCategories()->isEmpty();
            });
            $rolePerimetreOptions = $this->roleService->getListForSelect($roles);
            $userRolePerimetreForm->get('role')->setValueOptions($rolePerimetreOptions);
        }

@@ -315,7 +315,10 @@ class UtilisateurController extends AbstractActionController
    public function rechargerPerimetreRoleAction()
    {
        $utilisateur = $this->userService->getRequestedUser($this);
        $roleOptions = $this->roleService->getListForSelect($this->identityService->getUserRoles($utilisateur));
        $roles = array_filter($this->identityService->getUserRoles($utilisateur), function(RoleInterface $role) {
            return !$role->getPerimetreCategories()->isEmpty();
        });
        $roleOptions = $this->roleService->getListForSelect($roles);

        return new JsonModel($roleOptions);
    }
+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ $canRole = $this->isAllowed(UtilisateurPrivileges::getResourceId(UtilisateurPriv
                                $.each(data, function(key, value) {
                                    $('<option>').val(key).text(value).appendTo(select2);
                                });
                                $('#user-role-perimetres').html('');
                            }
                        });
                    },