Commit bc920b5c authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Filtre 'Catégorie de privilège' sur les pages 'Droits d'accès' : la liste est...

Filtre 'Catégorie de privilège' sur les pages 'Droits d'accès' : la liste est désormais issue d'une requête en bdd.
parent 1b2bd179
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ Journal des modifications
- Module Formation : Ajout d'un bouton sur la fiche d'une session pour envoyer la feuille d'émargement aux formateurs
- Module Formation : Amélioration de l'UI concernant l'affichage des inscrits à une session de formation
- Passage unicaen/renderer 7.0.2 (et donc à TinyMCE 6.3.0).
- Filtre 'Catégorie de privilège' sur les pages 'Droits d'accès' : la liste est désormais issue d'une requête en bdd.

9.2.1
-----
+10 −1
Original line number Diff line number Diff line
@@ -8,10 +8,15 @@ use Application\Service\Role\RoleService;
use Structure\Service\Structure\StructureService;
use Doctrine\ORM\EntityManager;
use Interop\Container\ContainerInterface;
use UnicaenPrivilege\Service\Privilege\PrivilegeCategorieService;

class PrivilegeControllerFactory
{
    public function __invoke(ContainerInterface $container)
    /**
     * @throws \Psr\Container\NotFoundExceptionInterface
     * @throws \Psr\Container\ContainerExceptionInterface
     */
    public function __invoke(ContainerInterface $container): PrivilegeController
    {
        /**
         * @var EntityManager $entityManager
@@ -30,6 +35,10 @@ class PrivilegeControllerFactory
        $controller->setEtablissementService($etablissementService);
        $controller->setStructureService($structureService);

        /** @var PrivilegeCategorieService $categoriesPrivilegeService */
        $categoriesPrivilegeService = $container->get(PrivilegeCategorieService::class);
        $controller->setprivilegeCategorieService($categoriesPrivilegeService);

        return $controller;
    }
}
 No newline at end of file
+11 −2
Original line number Diff line number Diff line
@@ -7,18 +7,23 @@ use Application\Form\ProfilForm;
use Application\Service\Profil\ProfilService;
use Application\Service\Role\RoleService;
use Interop\Container\ContainerInterface;
use UnicaenPrivilege\Service\Privilege\PrivilegeCategorieService;
use UnicaenPrivilege\Service\Privilege\PrivilegeService;

class ProfilControllerFactory {

    public function __invoke(ContainerInterface $container)
    /**
     * @throws \Psr\Container\NotFoundExceptionInterface
     * @throws \Psr\Container\ContainerExceptionInterface
     */
    public function __invoke(ContainerInterface $container): ProfilController
    {
        /**
         * @var PrivilegeService $privilegeService
         * @var ProfilService $profilService
         * @var RoleService $roleService
         */
        $privilegeService = $container->get(\UnicaenPrivilege\Service\Privilege\PrivilegeService::class);
        $privilegeService = $container->get(PrivilegeService::class);
        $profilService = $container->get(ProfilService::class);
        $roleService = $container->get(RoleService::class);

@@ -31,6 +36,10 @@ class ProfilControllerFactory {
        $controller->setApplicationRoleService($roleService);
        $controller->setProfilForm($profilForm);

        /** @var PrivilegeCategorieService $categoriesPrivilegeService */
        $categoriesPrivilegeService = $container->get(PrivilegeCategorieService::class);
        $controller->setprivilegeCategorieService($categoriesPrivilegeService);

        return $controller;
    }
}
 No newline at end of file
+8 −0
Original line number Diff line number Diff line
@@ -14,10 +14,12 @@ use Structure\Service\Etablissement\EtablissementServiceAwareTrait;
use Structure\Service\Structure\StructureServiceAwareTrait;
use UnicaenApp\Exception\RuntimeException;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenPrivilege\Service\Privilege\PrivilegeCategorieServiceAwareTrait;
use UnicaenPrivilege\Service\Privilege\PrivilegeServiceAwareTrait;

class PrivilegeController extends AbstractController
{
    use PrivilegeCategorieServiceAwareTrait;
    use EntityManagerAwareTrait;
    use ApplicationRoleServiceAwareTrait;
    use StructureServiceAwareTrait;
@@ -62,6 +64,7 @@ class PrivilegeController extends AbstractController
        return new ViewModel([
            'roles'          => $roles,
            'privileges'     => $privileges,
            'categoriesPrivilegesForFilter' => $this->fetchCategoriesPrivilegesForFilter(),
            'rolesForFilter' => $this->fetchRolesForFilter($depend),
            'params'         => $this->params()->fromQuery(),
        ]);
@@ -82,6 +85,11 @@ class PrivilegeController extends AbstractController
        return $roles;
    }

    private function fetchCategoriesPrivilegesForFilter(): array
    {
        return $this->privilegeCategorieService->findAll(['libelle' => 'asc']);
    }

    /**
     * Ajout ou retrait d'un privilège à un rôle.
     */
+8 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ use Application\Service\Role\ApplicationRoleServiceAwareTrait;
use Doctrine\ORM\OptimisticLockException;
use Doctrine\ORM\QueryBuilder;
use UnicaenApp\Exception\RuntimeException;
use UnicaenPrivilege\Service\Privilege\PrivilegeCategorieServiceAwareTrait;
use UnicaenPrivilege\Service\Privilege\PrivilegeServiceAwareTrait;
use Laminas\Http\Request;
use Laminas\Http\Response;
@@ -20,6 +21,7 @@ use Laminas\View\Model\ViewModel;

class ProfilController extends AbstractActionController
{
    use PrivilegeCategorieServiceAwareTrait;
    use PrivilegeServiceAwareTrait;
    use ProfilServiceAwareTrait;
    use ApplicationRoleServiceAwareTrait;
@@ -68,6 +70,7 @@ class ProfilController extends AbstractActionController
        return new ViewModel([
            'profils' => $profils,
            'privileges' => $privileges,
            'categoriesPrivilegesForFilter' => $this->fetchCategoriesPrivilegesForFilter(),
            'profilsForFilter' => $this->fetchProfilsForFilter($depend),
            'params' => $this->params()->fromQuery(),
        ]);
@@ -118,6 +121,11 @@ class ProfilController extends AbstractActionController
        return $qb;
    }

    private function fetchCategoriesPrivilegesForFilter(): array
    {
        return $this->privilegeCategorieService->findAll(['libelle' => 'asc']);
    }

    private function fetchProfilsForFilter($depend): array
    {
        // pour filtre par (libellé de) rôle
Loading