Commit 59e29bbd authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Correction du formulaire des rôles (la decsription n'est plus obligatoire) +...

Correction du formulaire des rôles (la decsription n'est plus obligatoire) + Création d'une classe abstraite AbstractIdentityProvider pour somplifire la déclaration des IdentityProviders + Ajout de garde à l'appel des fonctions de gestion des rôles automatiques
parent 3aa13b43
Loading
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -5,6 +5,12 @@ Module Unicaen Utilisateur
Changelogs
==========

5.0.8
------
* Correction du formulaire des rôles (la decsription n'est plus obligatoire)
* Création d'une classe abstraite AbstractIdentityProvider pour somplifire la déclaration des IdentityProviders
* Ajout de garde à l'appel des fonctions de gestion des rôles automatiques 

5.0.7 
------
* Ajout du champs description pour les rôles
+3 −1
Original line number Diff line number Diff line
@@ -53,10 +53,12 @@ class RoleController extends AbstractActionController {
        } else {
            if ($this->identityProviders !== null) {
                foreach ($this->identityProviders as $identityProvider) {
                    if (method_exists($identityProvider, "computeUsersAutomatiques")) {
                        $users = array_merge($users, $identityProvider->computeUsersAutomatiques($role->getRoleId()));
                    }
                }
            }
        }


        $headers = [ 'Identifiant de connexion', 'Nom', 'Adresse email'];
+3 −3
Original line number Diff line number Diff line
@@ -28,9 +28,9 @@ class RoleControllerFactory {
        $roleForm = $container->get('FormElementManager')->get(RoleForm::class);

        $identityProviders = [];
        if ($config['unicaen-utilisateur']['identity-provider'] !== "") {
            if (isset($config['unicaen-utilisateur']['identity-provider'])) {
                $identityProviderPaths = $config['unicaen-utilisateur']['identity-provider'];
        if ($config['unicaen-auth']['identity_providers'] !== "") {
            if (isset($config['unicaen-auth']['identity_providers'])) {
                $identityProviderPaths = $config['unicaen-auth']['identity_providers'];
                foreach ($identityProviderPaths as $identityProviderPath) $identityProviders[] = $container->get($identityProviderPath);
            }
        }
+1 −1
Original line number Diff line number Diff line
@@ -191,7 +191,7 @@ class RoleForm extends Form
                ],
            ],
            'description' => [
                'required' => true,
                'required' => false,
            ],
            'roleId' => [
                'required' => true,
+45 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenUtilisateur\Provider\Identity;

use BjyAuthorize\Provider\Identity\ProviderInterface;
use UnicaenAuthentification\Provider\Identity\ChainableProvider;
use UnicaenAuthentification\Provider\Identity\ChainEvent;

use UnicaenUtilisateur\Entity\Db\RoleInterface;
use UnicaenUtilisateur\Entity\Db\User;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;

abstract class AbstractIdentityProvider implements ProviderInterface, ChainableProvider
{
    use RoleServiceAwareTrait;
    use UserServiceAwareTrait;

    /**
     * @param string $code
     * @return User[]|null
     */
    abstract public function computeUsersAutomatiques(string $code) : ?array ;

    /**
     * @param User|null $user
     * @return string[]|RoleInterface[]
     */
    abstract public function computeRolesAutomatiques(?User $user = null) : array ;

    /**
     * @return string[]|RoleInterface[]
     */
    public function getIdentityRoles() : array
    {
        return $this->computeRolesAutomatiques();
    }

    /**
     * @param ChainEvent $e
     */
    public function injectIdentityRoles(ChainEvent $e) {
        $e->addRoles($this->getIdentityRoles());
    }
}
 No newline at end of file
Loading