Commit 3dda1fe4 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files
parents 83012f7f e988eafd
Loading
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -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;
@@ -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()
@@ -33,7 +37,7 @@ class RoleController extends AbstractActionController {
        return new ViewModel([
            'title' => "Gestion des rôles",
            'roles' => $roles,
            'identityprovider' => $this->identityProvider,
            'identityproviders' => $this->identityProviders,
        ]);
    }

@@ -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()));
                }
            }
        }

+4 −4
Original line number Diff line number Diff line
@@ -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);
        
+6 −1
Original line number Diff line number Diff line
@@ -114,6 +114,11 @@ class UtilisateurController extends AbstractActionController
            }
        }

        $rolesAutomatiques = [];
        foreach ($this->identityProvider as $identityProvider) {
            $rolesAutomatiques = array_merge($rolesAutomatiques, $identityProvider->computeRolesAutomatiques($utilisateur));
        }

        // TODO recupérer le provider qui va bien ...
        return new ViewModel([
            'title' => "Gestion des utilisateurs",
@@ -122,7 +127,7 @@ class UtilisateurController extends AbstractActionController
            'roles' => $roles,
            'rolesAttributes' => $rolesAttributes,
            'rolesDisponibles' => $rolesDisponibles,
            'rolesAutomatiques' => ($this->identityProvider !== null) ? $this->identityProvider->computeRolesAutomatiques($utilisateur) : [],
            'rolesAutomatiques' => $rolesAutomatiques,
        ]);
    }

+3 −2
Original line number Diff line number Diff line
@@ -46,9 +46,10 @@ class UtilisateurControllerFactory
            }
        }

        $identityProvider = null;
        $identityProvider = [];
        if (isset($moduleConfig['identity-provider']) && !empty($moduleConfig['identity-provider'])) {
            $identityProvider = $container->get($moduleConfig['identity-provider']);
            foreach ($moduleConfig['identity-provider'] as $value)
            $identityProvider[]= $container->get($value);
        }

        $controller = new UtilisateurController();
+1 −0
Original line number Diff line number Diff line
@@ -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