Loading src/UnicaenUtilisateur/Controller/RoleController.php +12 −6 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace UnicaenUtilisateur\Controller; use BjyAuthorize\Provider\Identity\ProviderInterface; use DateTime; use Exception; use UnicaenApp\View\Model\CsvModel; use UnicaenUtilisateur\Entity\Db\RoleInterface; use UnicaenUtilisateur\Entity\Db\UserInterface; Loading @@ -11,18 +12,21 @@ use UnicaenUtilisateur\Form\Role\RoleFormAwareTrait; use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\Mvc\Plugin\FlashMessenger\FlashMessenger; use Zend\View\Model\ViewModel; /** @method FlashMessenger flashMessenger() */ class RoleController extends AbstractActionController { use RoleServiceAwareTrait; use RoleFormAwareTrait; /** @var ProviderInterface */ private $identityProvider; private $identityProviders; public function setIdentityProvider($provider) public function setIdentityProviders($provider) { $this->identityProvider = $provider; $this->identityProviders = $provider; } public function indexAction() Loading @@ -33,7 +37,7 @@ class RoleController extends AbstractActionController { return new ViewModel([ 'title' => "Gestion des rôles", 'roles' => $roles, 'identityprovider' => $this->identityProvider, 'identityproviders' => $this->identityProviders, ]); } Loading @@ -49,8 +53,10 @@ class RoleController extends AbstractActionController { return $a->getDisplayName() > $b->getDisplayName(); }); } else { if ($this->identityProvider !== null) { $users = $this->identityProvider->computeUsersAutomatiques($role->getRoleId()); if ($this->identityProviders !== null) { foreach ($this->identityProviders as $identityProvider) { $users = array_merge($users, $identityProvider->computeUsersAutomatiques($role->getRoleId())); } } } Loading src/UnicaenUtilisateur/Controller/RoleControllerFactory.php +4 −4 Original line number Diff line number Diff line Loading @@ -25,16 +25,16 @@ class RoleControllerFactory { $config = $container->get('Config'); $roleForm = $container->get('FormElementManager')->get(RoleForm::class); $identityProvider = null; $identityProviders = []; if ($config['unicaen-utilisateur']['identity-provider'] !== "") { if (isset($config['unicaen-utilisateur']['identity-provider'])) { $identityProviderPath = $config['unicaen-utilisateur']['identity-provider']; $identityProvider = $container->get($identityProviderPath); $identityProviderPaths = $config['unicaen-utilisateur']['identity-provider']; foreach ($identityProviderPaths as $identityProviderPath) $identityProviders[] = $container->get($identityProviderPath); } } $controller = new RoleController(); $controller->setIdentityProvider($identityProvider); $controller->setIdentityProviders($identityProviders); $controller->setRoleService($roleService); $controller->setRoleForm($roleForm); Loading src/UnicaenUtilisateur/Entity/Db/Mapping/UnicaenUtilisateur.Entity.Db.Role.dcm.xml +1 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ <generator strategy="IDENTITY"/> </id> <!-- <field name="id" type="integer" column="ID" nullable="false"/>--> <field name="roleId" type="string" column="ROLE_ID" length="64" nullable="false"/> <field name="libelle" type="string" column="LIBELLE" length="64" nullable="false"/> <field name="default" type="boolean" column="IS_DEFAULT" nullable="false"/> Loading view/unicaen-utilisateur/role/index.phtml +12 −8 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ use UnicaenUtilisateur\Provider\Privilege\RolePrivileges; /** * @var RoleInterface[] $roles * @var $identityprovider * @var $identityproviders * * @see RoleController::indexAction() */ Loading Loading @@ -72,15 +72,19 @@ $canEffacer = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges: </td> <td> <?php if ($role->isAuto()) : ?> <?php if ($identityprovider !== null) : ?> <?php if ($identityproviders !== null) : ?> <?php $result = $identityprovider->computeUsersAutomatiques($role->getRoleId()); if($result): ?> $result = []; foreach ($identityproviders as $identityprovider) { $computed = $identityprovider->computeUsersAutomatiques($role->getRoleId()); if ($computed !== null) $result = array_merge($result, $computed); } ?> <?php if($result): ?> <i class="fas fa-user"></i> <?php echo $nbUser; ?> <?php else: ?> <span class="text-warning"><i class="fas fa-exclamation-triangle"></i> Aucune méthode de calcul associée à ce rôle automatique.</span> <?php endif; ?> ?> <?php endif; ?> <?php else: ?> <a href="#" data-toggle="popover" data-placement="left" data-html="true" data-content="<?php echo implode("<br />", $listing); ?>"> Loading Loading
src/UnicaenUtilisateur/Controller/RoleController.php +12 −6 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace UnicaenUtilisateur\Controller; use BjyAuthorize\Provider\Identity\ProviderInterface; use DateTime; use Exception; use UnicaenApp\View\Model\CsvModel; use UnicaenUtilisateur\Entity\Db\RoleInterface; use UnicaenUtilisateur\Entity\Db\UserInterface; Loading @@ -11,18 +12,21 @@ use UnicaenUtilisateur\Form\Role\RoleFormAwareTrait; use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\Mvc\Plugin\FlashMessenger\FlashMessenger; use Zend\View\Model\ViewModel; /** @method FlashMessenger flashMessenger() */ class RoleController extends AbstractActionController { use RoleServiceAwareTrait; use RoleFormAwareTrait; /** @var ProviderInterface */ private $identityProvider; private $identityProviders; public function setIdentityProvider($provider) public function setIdentityProviders($provider) { $this->identityProvider = $provider; $this->identityProviders = $provider; } public function indexAction() Loading @@ -33,7 +37,7 @@ class RoleController extends AbstractActionController { return new ViewModel([ 'title' => "Gestion des rôles", 'roles' => $roles, 'identityprovider' => $this->identityProvider, 'identityproviders' => $this->identityProviders, ]); } Loading @@ -49,8 +53,10 @@ class RoleController extends AbstractActionController { return $a->getDisplayName() > $b->getDisplayName(); }); } else { if ($this->identityProvider !== null) { $users = $this->identityProvider->computeUsersAutomatiques($role->getRoleId()); if ($this->identityProviders !== null) { foreach ($this->identityProviders as $identityProvider) { $users = array_merge($users, $identityProvider->computeUsersAutomatiques($role->getRoleId())); } } } Loading
src/UnicaenUtilisateur/Controller/RoleControllerFactory.php +4 −4 Original line number Diff line number Diff line Loading @@ -25,16 +25,16 @@ class RoleControllerFactory { $config = $container->get('Config'); $roleForm = $container->get('FormElementManager')->get(RoleForm::class); $identityProvider = null; $identityProviders = []; if ($config['unicaen-utilisateur']['identity-provider'] !== "") { if (isset($config['unicaen-utilisateur']['identity-provider'])) { $identityProviderPath = $config['unicaen-utilisateur']['identity-provider']; $identityProvider = $container->get($identityProviderPath); $identityProviderPaths = $config['unicaen-utilisateur']['identity-provider']; foreach ($identityProviderPaths as $identityProviderPath) $identityProviders[] = $container->get($identityProviderPath); } } $controller = new RoleController(); $controller->setIdentityProvider($identityProvider); $controller->setIdentityProviders($identityProviders); $controller->setRoleService($roleService); $controller->setRoleForm($roleForm); Loading
src/UnicaenUtilisateur/Entity/Db/Mapping/UnicaenUtilisateur.Entity.Db.Role.dcm.xml +1 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ <generator strategy="IDENTITY"/> </id> <!-- <field name="id" type="integer" column="ID" nullable="false"/>--> <field name="roleId" type="string" column="ROLE_ID" length="64" nullable="false"/> <field name="libelle" type="string" column="LIBELLE" length="64" nullable="false"/> <field name="default" type="boolean" column="IS_DEFAULT" nullable="false"/> Loading
view/unicaen-utilisateur/role/index.phtml +12 −8 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ use UnicaenUtilisateur\Provider\Privilege\RolePrivileges; /** * @var RoleInterface[] $roles * @var $identityprovider * @var $identityproviders * * @see RoleController::indexAction() */ Loading Loading @@ -72,15 +72,19 @@ $canEffacer = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges: </td> <td> <?php if ($role->isAuto()) : ?> <?php if ($identityprovider !== null) : ?> <?php if ($identityproviders !== null) : ?> <?php $result = $identityprovider->computeUsersAutomatiques($role->getRoleId()); if($result): ?> $result = []; foreach ($identityproviders as $identityprovider) { $computed = $identityprovider->computeUsersAutomatiques($role->getRoleId()); if ($computed !== null) $result = array_merge($result, $computed); } ?> <?php if($result): ?> <i class="fas fa-user"></i> <?php echo $nbUser; ?> <?php else: ?> <span class="text-warning"><i class="fas fa-exclamation-triangle"></i> Aucune méthode de calcul associée à ce rôle automatique.</span> <?php endif; ?> ?> <?php endif; ?> <?php else: ?> <a href="#" data-toggle="popover" data-placement="left" data-html="true" data-content="<?php echo implode("<br />", $listing); ?>"> Loading