Commit 17bcd1fe authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Amélioration : affichage role auto

parent 72d97e35
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace UnicaenUtilisateur\Controller;

use BjyAuthorize\Provider\Identity\ProviderInterface;
use DateTime;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenApp\View\Model\CsvModel;
@@ -28,6 +29,14 @@ class UtilisateurController extends AbstractActionController {

    public $recherche;

    /** @var ProviderInterface */
    private $identityProvider;

    public function setIdentityProvider($provider)
    {
        $this->identityProvider = $provider;
    }

    public function  indexAction()
    {
        $roles = $this->getRoleService()->getRoles();
@@ -89,6 +98,7 @@ class UtilisateurController extends AbstractActionController {
        return new ViewModel([
            'utilisateur' => $utilisateur,
            'roles' => $roles,
            'rolesAutomatiques' => ($this->identityProvider !== null)?$this->identityProvider->computeRolesAutomatiques($utilisateur):[],
            'rolesAffectes' => $rolesAffectes,
            'rolesDisponibles' => $rolesDisponibles,
        ]);
+7 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace UnicaenUtilisateur\Controller;

use Application\Provider\IdentityProvider;
use Doctrine\ORM\EntityManager;
use Interop\Container\ContainerInterface;
use UnicaenUtilisateur\Form\User\UserForm;
@@ -24,6 +25,11 @@ class UtilisateurControllerFactory {
         * @var MailingService $mailService
         * @var EntityManager $entityManager
         */
        $identityProvider = null;
        if ($container->get('Config')['unicaen-utilisateur']['identity-provider'] !== "") {
            $identityProviderPath = $container->get('Config')['unicaen-utilisateur']['identity-provider'];
            $identityProvider = $container->get($identityProviderPath);
        }
        $roleService = $container->get(RoleService::class);
        $userService = $container->get(UserService::class);

@@ -37,6 +43,7 @@ class UtilisateurControllerFactory {
        $controller->setRoleService($roleService);
        $controller->setUserService($userService);
        $controller->setUserForm($userForm);
        $controller->setIdentityProvider($identityProvider);

        $controller->recherche = $rechercheServices;
        
+0 −2
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@ class RoleService
    {
        $this->roleEntityClass = $roleEntityClass;
    }


    /**
     * @return string
     */
+19 −3
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ use UnicaenApp\Form\Element\SearchAndSelect;
 * @see UtilisateurController::indexAction()
 * @var User $utilisateur
 * @var Role[] $roles
 * @var Role[] $rolesAutomatiques
 * @var Role[] $rolesAffectes
 * @var Role[] $rolesDisponibles
 */
@@ -122,10 +123,22 @@ $canCreerLocal = $canAjouter;
        <div class="panel-body">

            <div class="col-md-6">

                <h3> Rôles automatiques </h3>

                <?php foreach ($rolesAutomatiques as $role) : ?>
                <div class="role">
                    <?php if ($canRole) : ?>
                        <span class="icon synchroniser"></span>
                    <?php endif; ?>
                    <?php echo $role->getRoleId(); ?>
                </div>
                <?php endforeach; ?>

                <h3> Rôles affectés </h3>

                <?php foreach ($roles as $role) : ?>
                    <div class="cliquable remove-role" id="affecte_<?php echo $utilisateur->getId(); ?>_<?php echo $role->getId(); ?>"
                    <div class="role cliquable remove-role" id="affecte_<?php echo $utilisateur->getId(); ?>_<?php echo $role->getId(); ?>"
                         style="<?php if (array_search($role,$rolesDisponibles)!== false) echo 'display:none;'; ?>"
                    >
                        <?php if ($canRole and !$role->isAuto()): ?>
@@ -147,7 +160,7 @@ $canCreerLocal = $canAjouter;

                <?php foreach ($roles as $role) : ?>
                    <?php if (!$role->isAuto()) : ?>
                        <div class="cliquable add-role" id="disponible_<?php echo $utilisateur->getId(); ?>_<?php echo $role->getId(); ?>"
                        <div class="role cliquable add-role" id="disponible_<?php echo $utilisateur->getId(); ?>_<?php echo $role->getId(); ?>"
                             style="<?php if (array_search($role,$rolesAffectes) !== false) echo 'display:none;'; ?>"
                        >
                            <?php if ($canRole): ?>
@@ -212,13 +225,16 @@ $canCreerLocal = $canAjouter;
</script>

<style>
    .cliquable {
    .role {
        border: 1px solid lightgray;
        border-radius : 5px;
        margin: 0.25rem;
        padding: 0.25rem;
    }

    .cliquable {
    }

    .cliquable:hover {
        background-color: lightyellow;
        cursor : pointer ;