Commit 16d6a0b9 authored by David Surville's avatar David Surville
Browse files

Affichage des périmètres associés aux rôles

parent 7522d85b
Loading
Loading
Loading
Loading
+22 −8
Changes for view/unicaen-utilisateur/role/index.phtml: 22 added lines, 8 removed lines.
Original line number Diff line number Diff line
<?php

use BjyAuthorize\Provider\Identity\ProviderInterface;
use UnicaenPrivilege\Entity\Db\PerimetreCategorieInterface;
use UnicaenUtilisateur\Controller\RoleController;
use UnicaenUtilisateur\Entity\Db\RoleInterface;
use UnicaenUtilisateur\Entity\Db\UserInterface;
@@ -51,6 +52,7 @@ $canEffacer = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges:
                <th>Rôle</th>
                <th>Rôle parent</th>
                <th>Utilisateurs</th>
                <th>Périmètres associés</th>
                <th class="col-md-1"><i title="Rôle manuel ou automatique" class="fas fa-user-cog"></i></th>
                <th>Accès extérieur</th>
                <th>Filtre Ldap</th>
@@ -61,15 +63,22 @@ $canEffacer = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges:
            <?php foreach ($roles as $role): ?>
                <?php
                    $users = $roleUsers[$role->getRoleId()];
                    /** @var UserInterface $user */
                    $listing = array_filter(
                    $users = array_filter(
                        array_map(function ($u) {
                            /** @var UserInterface $u */
                            if($u instanceof UserInterface) {
                                return sprintf('%s ~ %s', $u->getDisplayName(), $u->getUsername());
                            }
                        }, $users)
                    );
                    sort($listing);
                    sort($users);

                    $perimetres = $role->getPerimetreCategories()->toArray();
                    $perimetres = array_map(function ($p) {
                        /** @var $p PerimetreCategorieInterface */
                        return $p->getLibelle();
                    }, $perimetres);
                    sort($perimetres);
                ?>
                <tr>
                    <td>
@@ -82,19 +91,24 @@ $canEffacer = $this->isAllowed(RolePrivileges::getResourceId(RolePrivileges:
                    </td>
                    <td>
                        <?php if ($role->isAuto()) : ?>
                            <?php if (!empty($listing)) : ?>
                                <a href="#" data-toggle="popover" data-placement="left" data-html="true" data-content="<?php echo implode("<br />", $listing); ?>">
                                    <i class="fas fa-user"></i> <?php echo count($listing); ?>
                            <?php if (!empty($users)) : ?>
                                <a href="#" data-toggle="popover" data-placement="left" data-html="true" data-content="<?php echo implode("<br />", $users); ?>">
                                    <i class="fas fa-user"></i> <?php echo count($users); ?>
                                </a>
                            <?php else: ?>
                                <span class="text-warning"><i class="fas fa-exclamation-triangle"></i> Aucun utilisateur associé à ce rôle automatique.</span>
                            <?php endif; ?>
                        <?php else: ?>
                            <a href="#" data-toggle="popover" data-placement="left" data-html="true" data-content="<?php echo implode("<br />", $listing); ?>">
                                <i class="fas fa-user"></i> <?php echo count($users); ?>
                            <a href="#" data-toggle="popover" data-placement="left" data-html="true" data-content="<?php echo implode("<br />", $users); ?>">
                                <i class="fas fa-user"></i> <?php echo $role->getPerimetreCategories()->count(); ?>
                            </a>
                        <?php endif; ?>
                    </td>
                    <td>
                        <a href="#" data-toggle="popover" data-placement="left" data-html="true" data-content="<?php echo implode("<br />", $perimetres); ?>">
                            <i class="far fa-dot-circle"></i> <?php echo count($perimetres); ?>
                        </a>
                    </td>
                    <td>
                        <?php echo $role->isAuto()
                            ? '<i title="Rôle automatique" class="fas fa-user-cog"></i>'