Loading config/merged/perimetre.config.php +236 −61 Original line number Diff line number Diff line <?php use UnicaenPrivilege\Guard\PrivilegeController; use UnicaenPrivilege\Provider\Perimetre\Rules\StructureRuleProvider; use UnicaenPrivilege\Provider\Perimetre\Rules\StructureRuleProviderFactory; use UnicaenPrivilege\Assertion\Perimetre\AbstractPerimetreAssertionFactory; use UnicaenPrivilege\Assertion\Perimetre\StructurePerimetreAssertion; use UnicaenPrivilege\Controller\PerimetreCategorieController; use UnicaenPrivilege\Controller\PerimetreCategorieControllerFactory; use UnicaenPrivilege\Controller\PerimetreController; use UnicaenPrivilege\Controller\PerimetreControllerFactory; use UnicaenPrivilege\Form\Perimetre\CategorieForm; use UnicaenPrivilege\Form\Perimetre\CategorieFormFactory; use UnicaenPrivilege\Form\Perimetre\PerimetreForm; use UnicaenPrivilege\Form\Perimetre\PerimetreFormFactory; use UnicaenPrivilege\Provider\Privilege\PerimetrePrivileges; use UnicaenPrivilege\Service\Perimetre\PerimetreCategorieService; use UnicaenPrivilege\Service\Perimetre\PerimetreCategorieServiceFactory; use UnicaenPrivilege\Service\Perimetre\PerimetreService; use UnicaenPrivilege\Service\Perimetre\PerimetreServiceFactory; use UnicaenPrivilege\View\Perimetre\PerimetreCategorieViewHelper; return [ 'unicaen-perimetre' => [ /** * Liste des périmètres (catégories) utilisés et du service associé fournissant la règle de gestion du périmètre. * NB: le service fournisseur doit implémenter l'interface @see PerimetreRuleInterface sinon il ne sera pas associé. * Liste des assertions utilisées et des services associés. */ 'rule_providers' => [ 'structure' => StructureRuleProvider::class, 'assertions' => [ 'UnicaenStructure' => StructurePerimetreAssertion::class, ], ], 'bjyauthorize' => [ 'guards' => [ PrivilegeController::class => [ UnicaenPrivilege\Guard\PrivilegeController::class => [ [ 'controller' => PerimetreController::class, 'action' => [ 'index', ], 'privileges' => [ PerimetrePrivileges::CONSULTER, ], ], [ 'controller' => PerimetreController::class, 'action' => [ 'ajouter', 'modifier' ], 'privileges' => [ PerimetrePrivileges::EDITER, ], ], [ 'controller' => PerimetreController::class, 'action' => [ 'supprimer', ], 'privileges' => [ PerimetrePrivileges::SUPPRIMER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'index', 'gerer', ], 'privileges' => [ PerimetrePrivileges::CONSULTER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'activer', ], 'privileges' => [ PerimetrePrivileges::ATTRIBUER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'ajouter', 'modifier', ], 'privileges' => [ PerimetrePrivileges::EDITER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'supprimer', ], 'privileges' => [ PerimetrePrivileges::SUPPRIMER, ], ], ], ], ], // 'router' => [ // 'routes' => [ // 'unicaen-perimetre' => [ // 'type' => Literal::class, // 'options' => [ // 'route' => '/perimetre', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'index', // ], // ], // 'may_terminate' => true, // 'child_routes' => [ // 'ajouter' => [ // 'type' => Literal::class, // 'options' => [ // 'route' => '/ajouter', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'ajouter', // ], // ], // ], // 'modifier' => [ // 'type' => Segment::class, // 'options' => [ // 'route' => '/modifier/:role', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'modifier', // ], // ], // ], // 'supprimer' => [ // 'type' => Segment::class, // 'options' => [ // 'route' => '/supprimer/:role', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'supprimer', // ], // ], // ], // ], // ], // ], // ], 'router' => [ 'routes' => [ 'unicaen-perimetre' => [ 'type' => Literal::class, 'options' => [ 'route' => '/perimetre', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'ajouter' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter/:categorie', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'ajouter', ], 'constraints' => [ 'categorie' => '\d+', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:perimetre', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'modifier', ], 'constraints' => [ 'perimetre' => '\d+', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:perimetre', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'supprimer', ], 'constraints' => [ 'perimetre' => '\d+', ], ], ], 'categorie' => [ 'type' => Literal::class, 'options' => [ 'route' => '/categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'activer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/activer/:role/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'activer', ], 'constraints' => [ 'role' => '\d+', 'categorie' => '\d+', ], ], ], 'ajouter' => [ 'type' => Literal::class, 'options' => [ 'route' => '/ajouter', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'ajouter', ], ], ], 'gerer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'gerer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'modifier', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'supprimer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], ], ], ], ], ], ], 'service_manager' => [ 'controllers' => [ 'factories' => [ PerimetreService::class => PerimetreServiceFactory::class, PerimetreCategorieService::class => PerimetreCategorieServiceFactory::class, StructureRuleProvider::class => StructureRuleProviderFactory::class PerimetreCategorieController::class => PerimetreCategorieControllerFactory::class, PerimetreController::class => PerimetreControllerFactory::class, ], ], 'controllers' => [ 'service_manager' => [ 'factories' => [ PerimetreCategorieService::class => PerimetreCategorieServiceFactory::class, PerimetreService::class => PerimetreServiceFactory::class, ], 'abstract_factories' => [ AbstractPerimetreAssertionFactory::class, ], ], 'form_elements' => [ 'factories' => [ CategorieForm::class => CategorieFormFactory::class, PerimetreForm::class => PerimetreFormFactory::class, ], ], 'hydrators' => [ 'factories' => [ 'invokables' => [ 'perimetre' => PerimetreViewHelper::class, ], ], 'view_helpers' => [ 'invokables' => [ 'perimetreCategorie' => PerimetreCategorieViewHelper::class, ], ], ]; config/merged/privilege.config.php +31 −6 Original line number Diff line number Diff line Loading @@ -126,23 +126,30 @@ return [ ], 'may_terminate' => true, 'child_routes' => [ 'attribuer' => [ 'ajouter' => [ 'type' => Segment::class, 'options' => [ 'route' => '/attribuer/:role/:privilege', 'route' => '/ajouter/:categorie', 'defaults' => [ 'controller' => PrivilegeController::class, 'action' => 'attribuer', 'action' => 'ajouter', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'ajouter' => [ ], 'attribuer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter/:categorie', 'route' => '/attribuer/:role/:privilege', 'defaults' => [ 'controller' => PrivilegeController::class, 'action' => 'ajouter', 'action' => 'attribuer', ], 'constraints' => [ 'role' => '\d+', 'privilege' => '\d+', ], ], ], Loading @@ -154,6 +161,9 @@ return [ 'controller' => PrivilegeController::class, 'action' => 'modifier', ], 'constraints' => [ 'privilege' => '\d+', ], ], ], 'supprimer' => [ Loading @@ -164,6 +174,9 @@ return [ 'controller' => PrivilegeController::class, 'action' => 'supprimer', ], 'constraints' => [ 'privilege' => '\d+', ], ], ], 'categorie' => [ Loading Loading @@ -195,6 +208,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'gerer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading @@ -206,6 +222,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'provider', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading @@ -217,6 +236,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'modifier', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading @@ -228,6 +250,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'supprimer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading config/unicaen-perimetre.global.php.dist +3 −3 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ use UnicaenPrivilege\Entity\Db\Perimetre; use UnicaenPrivilege\Entity\Db\Privilege; use UnicaenPrivilege\Provider\Privilege\PrivilegePrivileges; use UnicaenPrivilege\Provider\Perimetre\PerimetrePrivileges; use UnicaenPrivilege\Provider\Rule\PrivilegeRuleProvider; use UnicaenPrivilege\Service\Privilege\PrivilegeService; Loading Loading @@ -32,7 +32,7 @@ if ($settings['enable_perimetres']) { * Important : * - le nom de l'assertion au niveau des routes doit respecter le format 'Perimetre\\<nom_de_l_assertion>' * (ex : 'assertion' => 'Perimetre\\Structure') * - le service associé doit hériter de @see \UnicaenPrivilege\Assertion\AbstractPerimetreAssertion * - le service associé doit hériter de @see \UnicaenPrivilege\Assertion\Perimetre\AbstractPerimetreAssertion */ 'assertions' => [ // 'Structure' => StructureAssertion::class, Loading @@ -49,7 +49,7 @@ if ($settings['enable_perimetres']) { 'label' => "Gérer les périmètres", 'title' => "Gérer les périmetres", 'route' => 'unicaen-perimetre', 'resource' => PrivilegePrivileges::getResourceId(PrivilegePrivileges::PRIVILEGE_VOIR), 'resource' => PerimetrePrivileges::getResourceId(PerimetrePrivileges::CONSULTER), ], ], ], Loading src/UnicaenPrivilege/Assertion/Perimetre/AbstractPerimetreAssertion.php +3 −2 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use UnicaenApp\Service\EntityManagerAwareTrait; use UnicaenPrivilege\Assertion\AbstractAssertion; use UnicaenPrivilege\Entity\Db\PerimetreCategorieInterface; use UnicaenPrivilege\Entity\Db\PerimetreInterface; use UnicaenPrivilege\Provider\Perimetre\PerimetreProviderAwareTrait; use UnicaenPrivilege\Provider\Privilege\Privileges; use UnicaenPrivilege\Service\Perimetre\PerimetreCategorieServiceAwareTrait; use UnicaenUtilisateur\Entity\Db\UserInterface; Loading @@ -17,7 +18,7 @@ use Zend\Router\RouteMatch; abstract class AbstractPerimetreAssertion extends AbstractAssertion { use EntityManagerAwareTrait; use PerimetreCategorieServiceAwareTrait; use PerimetreProviderAwareTrait; const MODE_ALL = 'all'; const MODE_AT_LEAST_ONE = 'at_least_one'; Loading Loading @@ -65,7 +66,7 @@ abstract class AbstractPerimetreAssertion extends AbstractAssertion } // liste des catégories de périmètres et des rôles associés $perimetreRoles = $this->perimetreCategorieService->getPerimetresRoles(); $perimetreRoles = $this->perimetreProvider->getPerimetresRoles(); // récupération des périmètres associés au rôle de l'utilisateur à partir des périmètres (catégories) associés à l'assertion $this->perimetres = array_filter($this->getPerimetres(), Loading src/UnicaenPrivilege/Assertion/Perimetre/AbstractPerimetreAssertionFactory.php +1 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ class AbstractPerimetreAssertionFactory implements AbstractFactoryInterface $assertion->setServiceAuthorize($authorizeService); $assertion->setServiceUserContext($userContextService); $assertion->setEntityManager($entityManager); $assertion->setPerimetreCategorieService($perimetreCategorieService); $assertion->setPerimetreProvider($perimetreCategorieService); return $assertion; } Loading Loading
config/merged/perimetre.config.php +236 −61 Original line number Diff line number Diff line <?php use UnicaenPrivilege\Guard\PrivilegeController; use UnicaenPrivilege\Provider\Perimetre\Rules\StructureRuleProvider; use UnicaenPrivilege\Provider\Perimetre\Rules\StructureRuleProviderFactory; use UnicaenPrivilege\Assertion\Perimetre\AbstractPerimetreAssertionFactory; use UnicaenPrivilege\Assertion\Perimetre\StructurePerimetreAssertion; use UnicaenPrivilege\Controller\PerimetreCategorieController; use UnicaenPrivilege\Controller\PerimetreCategorieControllerFactory; use UnicaenPrivilege\Controller\PerimetreController; use UnicaenPrivilege\Controller\PerimetreControllerFactory; use UnicaenPrivilege\Form\Perimetre\CategorieForm; use UnicaenPrivilege\Form\Perimetre\CategorieFormFactory; use UnicaenPrivilege\Form\Perimetre\PerimetreForm; use UnicaenPrivilege\Form\Perimetre\PerimetreFormFactory; use UnicaenPrivilege\Provider\Privilege\PerimetrePrivileges; use UnicaenPrivilege\Service\Perimetre\PerimetreCategorieService; use UnicaenPrivilege\Service\Perimetre\PerimetreCategorieServiceFactory; use UnicaenPrivilege\Service\Perimetre\PerimetreService; use UnicaenPrivilege\Service\Perimetre\PerimetreServiceFactory; use UnicaenPrivilege\View\Perimetre\PerimetreCategorieViewHelper; return [ 'unicaen-perimetre' => [ /** * Liste des périmètres (catégories) utilisés et du service associé fournissant la règle de gestion du périmètre. * NB: le service fournisseur doit implémenter l'interface @see PerimetreRuleInterface sinon il ne sera pas associé. * Liste des assertions utilisées et des services associés. */ 'rule_providers' => [ 'structure' => StructureRuleProvider::class, 'assertions' => [ 'UnicaenStructure' => StructurePerimetreAssertion::class, ], ], 'bjyauthorize' => [ 'guards' => [ PrivilegeController::class => [ UnicaenPrivilege\Guard\PrivilegeController::class => [ [ 'controller' => PerimetreController::class, 'action' => [ 'index', ], 'privileges' => [ PerimetrePrivileges::CONSULTER, ], ], [ 'controller' => PerimetreController::class, 'action' => [ 'ajouter', 'modifier' ], 'privileges' => [ PerimetrePrivileges::EDITER, ], ], [ 'controller' => PerimetreController::class, 'action' => [ 'supprimer', ], 'privileges' => [ PerimetrePrivileges::SUPPRIMER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'index', 'gerer', ], 'privileges' => [ PerimetrePrivileges::CONSULTER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'activer', ], 'privileges' => [ PerimetrePrivileges::ATTRIBUER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'ajouter', 'modifier', ], 'privileges' => [ PerimetrePrivileges::EDITER, ], ], [ 'controller' => PerimetreCategorieController::class, 'action' => [ 'supprimer', ], 'privileges' => [ PerimetrePrivileges::SUPPRIMER, ], ], ], ], ], // 'router' => [ // 'routes' => [ // 'unicaen-perimetre' => [ // 'type' => Literal::class, // 'options' => [ // 'route' => '/perimetre', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'index', // ], // ], // 'may_terminate' => true, // 'child_routes' => [ // 'ajouter' => [ // 'type' => Literal::class, // 'options' => [ // 'route' => '/ajouter', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'ajouter', // ], // ], // ], // 'modifier' => [ // 'type' => Segment::class, // 'options' => [ // 'route' => '/modifier/:role', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'modifier', // ], // ], // ], // 'supprimer' => [ // 'type' => Segment::class, // 'options' => [ // 'route' => '/supprimer/:role', // 'defaults' => [ // 'controller' => RoleController::class, // 'action' => 'supprimer', // ], // ], // ], // ], // ], // ], // ], 'router' => [ 'routes' => [ 'unicaen-perimetre' => [ 'type' => Literal::class, 'options' => [ 'route' => '/perimetre', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'ajouter' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter/:categorie', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'ajouter', ], 'constraints' => [ 'categorie' => '\d+', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:perimetre', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'modifier', ], 'constraints' => [ 'perimetre' => '\d+', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:perimetre', 'defaults' => [ 'controller' => PerimetreController::class, 'action' => 'supprimer', ], 'constraints' => [ 'perimetre' => '\d+', ], ], ], 'categorie' => [ 'type' => Literal::class, 'options' => [ 'route' => '/categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'index', ], ], 'may_terminate' => true, 'child_routes' => [ 'activer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/activer/:role/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'activer', ], 'constraints' => [ 'role' => '\d+', 'categorie' => '\d+', ], ], ], 'ajouter' => [ 'type' => Literal::class, 'options' => [ 'route' => '/ajouter', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'ajouter', ], ], ], 'gerer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'gerer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'modifier', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:categorie', 'defaults' => [ 'controller' => PerimetreCategorieController::class, 'action' => 'supprimer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], ], ], ], ], ], ], 'service_manager' => [ 'controllers' => [ 'factories' => [ PerimetreService::class => PerimetreServiceFactory::class, PerimetreCategorieService::class => PerimetreCategorieServiceFactory::class, StructureRuleProvider::class => StructureRuleProviderFactory::class PerimetreCategorieController::class => PerimetreCategorieControllerFactory::class, PerimetreController::class => PerimetreControllerFactory::class, ], ], 'controllers' => [ 'service_manager' => [ 'factories' => [ PerimetreCategorieService::class => PerimetreCategorieServiceFactory::class, PerimetreService::class => PerimetreServiceFactory::class, ], 'abstract_factories' => [ AbstractPerimetreAssertionFactory::class, ], ], 'form_elements' => [ 'factories' => [ CategorieForm::class => CategorieFormFactory::class, PerimetreForm::class => PerimetreFormFactory::class, ], ], 'hydrators' => [ 'factories' => [ 'invokables' => [ 'perimetre' => PerimetreViewHelper::class, ], ], 'view_helpers' => [ 'invokables' => [ 'perimetreCategorie' => PerimetreCategorieViewHelper::class, ], ], ];
config/merged/privilege.config.php +31 −6 Original line number Diff line number Diff line Loading @@ -126,23 +126,30 @@ return [ ], 'may_terminate' => true, 'child_routes' => [ 'attribuer' => [ 'ajouter' => [ 'type' => Segment::class, 'options' => [ 'route' => '/attribuer/:role/:privilege', 'route' => '/ajouter/:categorie', 'defaults' => [ 'controller' => PrivilegeController::class, 'action' => 'attribuer', 'action' => 'ajouter', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'ajouter' => [ ], 'attribuer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/ajouter/:categorie', 'route' => '/attribuer/:role/:privilege', 'defaults' => [ 'controller' => PrivilegeController::class, 'action' => 'ajouter', 'action' => 'attribuer', ], 'constraints' => [ 'role' => '\d+', 'privilege' => '\d+', ], ], ], Loading @@ -154,6 +161,9 @@ return [ 'controller' => PrivilegeController::class, 'action' => 'modifier', ], 'constraints' => [ 'privilege' => '\d+', ], ], ], 'supprimer' => [ Loading @@ -164,6 +174,9 @@ return [ 'controller' => PrivilegeController::class, 'action' => 'supprimer', ], 'constraints' => [ 'privilege' => '\d+', ], ], ], 'categorie' => [ Loading Loading @@ -195,6 +208,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'gerer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading @@ -206,6 +222,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'provider', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading @@ -217,6 +236,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'modifier', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading @@ -228,6 +250,9 @@ return [ 'controller' => PrivilegeCategorieController::class, 'action' => 'supprimer', ], 'constraints' => [ 'categorie' => '\d+', ], ], 'may_terminate' => true, ], Loading
config/unicaen-perimetre.global.php.dist +3 −3 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ use UnicaenPrivilege\Entity\Db\Perimetre; use UnicaenPrivilege\Entity\Db\Privilege; use UnicaenPrivilege\Provider\Privilege\PrivilegePrivileges; use UnicaenPrivilege\Provider\Perimetre\PerimetrePrivileges; use UnicaenPrivilege\Provider\Rule\PrivilegeRuleProvider; use UnicaenPrivilege\Service\Privilege\PrivilegeService; Loading Loading @@ -32,7 +32,7 @@ if ($settings['enable_perimetres']) { * Important : * - le nom de l'assertion au niveau des routes doit respecter le format 'Perimetre\\<nom_de_l_assertion>' * (ex : 'assertion' => 'Perimetre\\Structure') * - le service associé doit hériter de @see \UnicaenPrivilege\Assertion\AbstractPerimetreAssertion * - le service associé doit hériter de @see \UnicaenPrivilege\Assertion\Perimetre\AbstractPerimetreAssertion */ 'assertions' => [ // 'Structure' => StructureAssertion::class, Loading @@ -49,7 +49,7 @@ if ($settings['enable_perimetres']) { 'label' => "Gérer les périmètres", 'title' => "Gérer les périmetres", 'route' => 'unicaen-perimetre', 'resource' => PrivilegePrivileges::getResourceId(PrivilegePrivileges::PRIVILEGE_VOIR), 'resource' => PerimetrePrivileges::getResourceId(PerimetrePrivileges::CONSULTER), ], ], ], Loading
src/UnicaenPrivilege/Assertion/Perimetre/AbstractPerimetreAssertion.php +3 −2 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use UnicaenApp\Service\EntityManagerAwareTrait; use UnicaenPrivilege\Assertion\AbstractAssertion; use UnicaenPrivilege\Entity\Db\PerimetreCategorieInterface; use UnicaenPrivilege\Entity\Db\PerimetreInterface; use UnicaenPrivilege\Provider\Perimetre\PerimetreProviderAwareTrait; use UnicaenPrivilege\Provider\Privilege\Privileges; use UnicaenPrivilege\Service\Perimetre\PerimetreCategorieServiceAwareTrait; use UnicaenUtilisateur\Entity\Db\UserInterface; Loading @@ -17,7 +18,7 @@ use Zend\Router\RouteMatch; abstract class AbstractPerimetreAssertion extends AbstractAssertion { use EntityManagerAwareTrait; use PerimetreCategorieServiceAwareTrait; use PerimetreProviderAwareTrait; const MODE_ALL = 'all'; const MODE_AT_LEAST_ONE = 'at_least_one'; Loading Loading @@ -65,7 +66,7 @@ abstract class AbstractPerimetreAssertion extends AbstractAssertion } // liste des catégories de périmètres et des rôles associés $perimetreRoles = $this->perimetreCategorieService->getPerimetresRoles(); $perimetreRoles = $this->perimetreProvider->getPerimetresRoles(); // récupération des périmètres associés au rôle de l'utilisateur à partir des périmètres (catégories) associés à l'assertion $this->perimetres = array_filter($this->getPerimetres(), Loading
src/UnicaenPrivilege/Assertion/Perimetre/AbstractPerimetreAssertionFactory.php +1 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ class AbstractPerimetreAssertionFactory implements AbstractFactoryInterface $assertion->setServiceAuthorize($authorizeService); $assertion->setServiceUserContext($userContextService); $assertion->setEntityManager($entityManager); $assertion->setPerimetreCategorieService($perimetreCategorieService); $assertion->setPerimetreProvider($perimetreCategorieService); return $assertion; } Loading