Loading src/UnicaenUtilisateur/Controller/RoleController.php +23 −2 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace UnicaenUtilisateur\Controller; use BjyAuthorize\Provider\Identity\ProviderInterface; use DateTime; use UnicaenApp\View\Model\CsvModel; use UnicaenUtilisateur\Entity\Db\Role; Loading @@ -16,6 +17,14 @@ class RoleController extends AbstractActionController { use RoleServiceAwareTrait; use RoleFormAwareTrait; /** @var ProviderInterface */ private $identityProvider; public function setIdentityProvider($provider) { $this->identityProvider = $provider; } public function indexAction() { /** @var Role[] $roles */ Loading @@ -23,15 +32,27 @@ class RoleController extends AbstractActionController { return new ViewModel([ 'roles' => $roles, 'identityprovider' => $this->identityProvider, ]); } public function listingAction() { $role = $this->getRoleService()->getRequestedRole($this); /** @var User[] $users */ $users = []; if (!$role->isAuto()) { $users = $role->getUsers()->toArray(); usort($users, function (User $a, User $b) { return $a->getDisplayName() > $b->getDisplayName();}); usort($users, function (User $a, User $b) { return $a->getDisplayName() > $b->getDisplayName(); }); } else { if ($this->identityProvider !== null) { $users = $this->identityProvider->computeUsersAutomatiques($role->getRoleId()); } } $headers = [ 'Nom d\'utilisateur', 'Nom affiché', 'Adresse électronique']; Loading src/UnicaenUtilisateur/Controller/RoleControllerFactory.php +9 −0 Original line number Diff line number Diff line Loading @@ -20,8 +20,17 @@ class RoleControllerFactory { */ $roleForm = $container->get('FormElementManager')->get(RoleForm::class); $identityProvider = null; if ($container->get('Config')['unicaen-utilisateur']['identity-provider'] !== "") { if (isset($container->get('Config')['unicaen-utilisateur']['identity-provider'])) { $identityProviderPath = $container->get('Config')['unicaen-utilisateur']['identity-provider']; $identityProvider = $container->get($identityProviderPath); } } /** @var RoleController $controller */ $controller = new RoleController(); $controller->setIdentityProvider($identityProvider); $controller->setRoleService($roleService); $controller->setRoleForm($roleForm); return $controller; Loading src/UnicaenUtilisateur/Form/Role/RoleHydrator.php +2 −2 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ class RoleHydrator implements HydratorInterface { } $object->setParent($parent); $default = (isset($data['is_default']) AND $data['is_default'] === true)?true:false; $auto = (isset($data['is_auto']) AND $data['is_auto'] === true)?true:false; $default = (isset($data['is_default']) AND $data['is_default'] === "true")?true:false; $auto = (isset($data['is_auto']) AND $data['is_auto'] === "true")?true:false; $object->setIsDefault($default); $object->setAuto($auto); Loading view/unicaen-utilisateur/role/index.phtml +12 −1 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use UnicaenUtilisateur\Provider\Privilege\RolePrivileges; /** * @see UnicaenUtilisateur\Controller\RoleController::indexAction() * @var Role[] $roles * @var $identityprovider */ $canAfficher = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges::ROLE_AFFICHER)); Loading Loading @@ -54,7 +55,17 @@ $canEffacer = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges: <td> <?php echo $role->getLibelle(); ?></td> <td> <?php if ($role->isAuto()) : ?> <span class="icon synchroniser"></span> Octopus <?php if ($identityprovider !== null) : ?> <?php $result = $identityprovider->computeUsersAutomatiques($role->getRoleId()); if ($result !== null) { echo count($result); } else { echo '<span data-toggle="tooltip" data-html="true" title="Aucune méthode de calcul pour ['.$role->getRoleId().']">??</span>'; } ?> <?php endif; ?> <span class="icon synchroniser" data-toggle="tooltip" data-html="true" title="Rôle automatique"></span> <?php else: ?> <span title="<?php echo implode("\n",$listing); ?>"><?php echo $nbUser; ?> <i class="fas fa-user"></i></span> </td> <?php endif; ?> Loading Loading
src/UnicaenUtilisateur/Controller/RoleController.php +23 −2 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace UnicaenUtilisateur\Controller; use BjyAuthorize\Provider\Identity\ProviderInterface; use DateTime; use UnicaenApp\View\Model\CsvModel; use UnicaenUtilisateur\Entity\Db\Role; Loading @@ -16,6 +17,14 @@ class RoleController extends AbstractActionController { use RoleServiceAwareTrait; use RoleFormAwareTrait; /** @var ProviderInterface */ private $identityProvider; public function setIdentityProvider($provider) { $this->identityProvider = $provider; } public function indexAction() { /** @var Role[] $roles */ Loading @@ -23,15 +32,27 @@ class RoleController extends AbstractActionController { return new ViewModel([ 'roles' => $roles, 'identityprovider' => $this->identityProvider, ]); } public function listingAction() { $role = $this->getRoleService()->getRequestedRole($this); /** @var User[] $users */ $users = []; if (!$role->isAuto()) { $users = $role->getUsers()->toArray(); usort($users, function (User $a, User $b) { return $a->getDisplayName() > $b->getDisplayName();}); usort($users, function (User $a, User $b) { return $a->getDisplayName() > $b->getDisplayName(); }); } else { if ($this->identityProvider !== null) { $users = $this->identityProvider->computeUsersAutomatiques($role->getRoleId()); } } $headers = [ 'Nom d\'utilisateur', 'Nom affiché', 'Adresse électronique']; Loading
src/UnicaenUtilisateur/Controller/RoleControllerFactory.php +9 −0 Original line number Diff line number Diff line Loading @@ -20,8 +20,17 @@ class RoleControllerFactory { */ $roleForm = $container->get('FormElementManager')->get(RoleForm::class); $identityProvider = null; if ($container->get('Config')['unicaen-utilisateur']['identity-provider'] !== "") { if (isset($container->get('Config')['unicaen-utilisateur']['identity-provider'])) { $identityProviderPath = $container->get('Config')['unicaen-utilisateur']['identity-provider']; $identityProvider = $container->get($identityProviderPath); } } /** @var RoleController $controller */ $controller = new RoleController(); $controller->setIdentityProvider($identityProvider); $controller->setRoleService($roleService); $controller->setRoleForm($roleForm); return $controller; Loading
src/UnicaenUtilisateur/Form/Role/RoleHydrator.php +2 −2 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ class RoleHydrator implements HydratorInterface { } $object->setParent($parent); $default = (isset($data['is_default']) AND $data['is_default'] === true)?true:false; $auto = (isset($data['is_auto']) AND $data['is_auto'] === true)?true:false; $default = (isset($data['is_default']) AND $data['is_default'] === "true")?true:false; $auto = (isset($data['is_auto']) AND $data['is_auto'] === "true")?true:false; $object->setIsDefault($default); $object->setAuto($auto); Loading
view/unicaen-utilisateur/role/index.phtml +12 −1 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use UnicaenUtilisateur\Provider\Privilege\RolePrivileges; /** * @see UnicaenUtilisateur\Controller\RoleController::indexAction() * @var Role[] $roles * @var $identityprovider */ $canAfficher = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges::ROLE_AFFICHER)); Loading Loading @@ -54,7 +55,17 @@ $canEffacer = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges: <td> <?php echo $role->getLibelle(); ?></td> <td> <?php if ($role->isAuto()) : ?> <span class="icon synchroniser"></span> Octopus <?php if ($identityprovider !== null) : ?> <?php $result = $identityprovider->computeUsersAutomatiques($role->getRoleId()); if ($result !== null) { echo count($result); } else { echo '<span data-toggle="tooltip" data-html="true" title="Aucune méthode de calcul pour ['.$role->getRoleId().']">??</span>'; } ?> <?php endif; ?> <span class="icon synchroniser" data-toggle="tooltip" data-html="true" title="Rôle automatique"></span> <?php else: ?> <span title="<?php echo implode("\n",$listing); ?>"><?php echo $nbUser; ?> <i class="fas fa-user"></i></span> </td> <?php endif; ?> Loading