Commit 20f64a70 authored by David Surville's avatar David Surville
Browse files

Prise en compte des entités définies dans la config au lieu des entités de la...

Prise en compte des entités définies dans la config au lieu des entités de la bibliothèque + fichiers SQL
parent 4ef3b749
Loading
Loading
Loading
Loading
Loading
+3 −22
Changes for config/merged/role.config.php: 3 added lines, 22 removed lines.
Original line number Diff line number Diff line
@@ -50,28 +50,9 @@ return [
        ],
    ],

    'navigation' => [
        'default' => [
            'home' => [
                'pages' => [
                    'administration' => [
                        'pages' => [
                            'role' => [
                                'label' => 'Rôle',
                                'route' => 'role',
                                'resource' => RolePrivileges::getResourceId(RolePrivileges::ROLE_AFFICHER),
                                'order'    => 1002,
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],

    'router' => [
        'routes' => [
            'role' => [
            'unicaen-role' => [
                'type' => Literal::class,
                'options' => [
                    'route' => '/role',
@@ -85,10 +66,10 @@ return [
                    'listing' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'       => '/listing/:role',
                            'route'       => '/lister/:role',
                            'defaults'    => [
                                'controller' => RoleController::class,
                                'action' => 'listing',
                                'action' => 'lister',
                            ],
                        ],
                    ],
+10 −41
Changes for config/merged/utilisateur.config.php: 10 added lines, 41 removed lines.
Original line number Diff line number Diff line
@@ -45,10 +45,10 @@ return [
                [
                    'controller' => UtilisateurController::class,
                    'action' => [
                        'changer-status',
                        'changer-statut',
                    ],
                    'privileges' => [
                        UtilisateurPrivileges::UTILISATEUR_CHANGERSTATUS,
                        UtilisateurPrivileges::UTILISATEUR_CHANGER_STATUT,
                    ],
                ],
                [
@@ -58,41 +58,7 @@ return [
                        'remove-role',
                    ],
                    'privileges' => [
                        UtilisateurPrivileges::UTILISATEUR_MODIFIERROLE,
                    ],
                ],
            ],
        ],
    ],

    'navigation' => [
        'default' => [
            'home' => [
                'pages' => [
                    'administration' => [
                        'pages' => [
                            'utilisateur' => [
                                'label' => 'Utilisateur',
                                'route' => 'utilisateur-preecog',
                                'resource' => UtilisateurPrivileges::getResourceId(UtilisateurPrivileges::UTILISATEUR_AFFICHER),
                                'order'    => 1001,
                                'pages' => [
                                    'listing-utilisateur' => [
                                        'label' => 'Listing',
                                        'route' => 'utilisateur-preecog/listing',
                                        'resource' => UtilisateurPrivileges::getResourceId(UtilisateurPrivileges::UTILISATEUR_AFFICHER),
                                        'order'    => 10001,
                                    ],
                                    'ajouter-utilisateur' => [
                                        'label' => 'Listing',
                                        'route' => 'utilisateur-preecog/ajouter',
                                        'resource' => UtilisateurPrivileges::getResourceId(UtilisateurPrivileges::UTILISATEUR_AJOUTER),
                                        'order'    => 10001,
                                    ],
                                ],
                            ],

                        ],
                        UtilisateurPrivileges::UTILISATEUR_MODIFIER_ROLE,
                    ],
                ],
            ],
@@ -101,7 +67,7 @@ return [

    'router' => [
        'routes' => [
            'utilisateur-preecog' => [
            'unicaen-utilisateur' => [
                'type' => Literal::class,
                'options' => [
                    'route' => '/utilisateur',
@@ -182,13 +148,13 @@ return [
                            ],
                        ],
                    ],
                    'changer-status' => [
                    'changer-statut' => [
                        'type'          => Segment::class,
                        'options'       => [
                            'route'       => '/changer-status/:utilisateur',
                            'route'       => '/changer-statut/:utilisateur',
                            'defaults'    => [
                                'controller' => UtilisateurController::class,
                                'action' => 'changer-status',
                                'action' => 'changer-statut',
                            ],
                        ],
                    ],
@@ -213,16 +179,19 @@ return [
            RoleService::class => RoleServiceFactory::class,
        ],
    ],

    'form_elements' => [
        'factories' => [
            UserForm::class => UserFormFactory::class,
        ],
    ],

    'hydrators' => [
        'factories' => [
            UserHydrator::class => UserHydratorFactory::class,
        ],
    ],

    'controllers'     => [
        'factories' => [
            UtilisateurController::class => UtilisateurControllerFactory::class,
+14 −14
Changes for src/UnicaenUtilisateur/Controller/RoleController.php: 14 added lines, 14 removed lines.
Original line number Diff line number Diff line
@@ -5,8 +5,8 @@ namespace UnicaenUtilisateur\Controller;
use BjyAuthorize\Provider\Identity\ProviderInterface;
use DateTime;
use UnicaenApp\View\Model\CsvModel;
use UnicaenUtilisateur\Entity\Db\Role;
use UnicaenUtilisateur\Entity\Db\User;
use UnicaenUtilisateur\Entity\Db\RoleInterface;
use UnicaenUtilisateur\Entity\Db\UserInterface;
use UnicaenUtilisateur\Form\Role\RoleFormAwareTrait;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
use Zend\Http\Request;
@@ -27,8 +27,8 @@ class RoleController extends AbstractActionController {

    public function indexAction()
    {
        /** @var Role[] $roles */
        $roles = $this->getRoleService()->getRoles();
        /** @var RoleInterface[] $roles */
        $roles = $this->roleService->findAll();

        return new ViewModel([
            'roles' => $roles,
@@ -38,13 +38,13 @@ class RoleController extends AbstractActionController {

    public function listingAction()
    {
        $role = $this->getRoleService()->getRequestedRole($this);
        $role = $this->roleService->getRequestedRole($this);

        /** @var User[] $users */
        /** @var UserInterface[] $users */
        $users = [];
        if (!$role->isAuto()) {
            $users = $role->getUsers()->toArray();
            usort($users, function (User $a, User $b) {
            usort($users, function (UserInterface $a, UserInterface $b) {
                return $a->getDisplayName() > $b->getDisplayName();
            });
        } else {
@@ -78,9 +78,9 @@ class RoleController extends AbstractActionController {

    public function ajouterAction()
    {
        $role = new Role();
        $role = $this->roleService->getEntityInstance();
        $form = $this->getRoleForm();
        $form->setAttribute('action', $this->url()->fromRoute('role/ajouter', [], [], true));
        $form->setAttribute('action', $this->url()->fromRoute('unicaen-role/ajouter', [], [], true));
        $form->bind($role);

        /** @var Request $request */
@@ -90,7 +90,7 @@ class RoleController extends AbstractActionController {
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRoleService()->create($role);
                //return $this->redirect()->toRoute('role', [], [], true);
                //return $this->redirect()->toRoute('unicaen-role', [], [], true);
            }
        }

@@ -107,7 +107,7 @@ class RoleController extends AbstractActionController {
    {
        $role = $this->getRoleService()->getRequestedRole($this);
        $form = $this->getRoleForm();
        $form->setAttribute('action', $this->url()->fromRoute('role/modifier', ['role' => $role->getId()], [], true));
        $form->setAttribute('action', $this->url()->fromRoute('unicaen-role/modifier', ['role' => $role->getId()], [], true));
        $form->bind($role);
        $form->setOldLibelle($role->getLibelle());
        $form->setOldRoleId($role->getRoleId());
@@ -119,7 +119,7 @@ class RoleController extends AbstractActionController {
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRoleService()->update($role);
                //return $this->redirect()->toRoute('role', [], [], true);
                //return $this->redirect()->toRoute('unicaen-role', [], [], true);
            }
        }

@@ -141,7 +141,7 @@ class RoleController extends AbstractActionController {
        if ($request->isPost()) {
            $data = $request->getPost();
            if ($data["reponse"] === "oui") $this->getRoleService()->delete($role);
            //return $this->redirect()->toRoute('role', [], [], true);
            //return $this->redirect()->toRoute('unicaen-role', [], [], true);
            exit();
        }

@@ -151,7 +151,7 @@ class RoleController extends AbstractActionController {
            $vm->setVariables([
                'title' => "Suppression du rôle " . $role->getLibelle(),
                'text' => "La suppression est définitive êtes-vous sûr·e de vouloir continuer ?",
                'action' => $this->url()->fromRoute('role/supprimer', ["role" => $role->getId()], [], true),
                'action' => $this->url()->fromRoute('unicaen-role/supprimer', ["role" => $role->getId()], [], true),
            ]);
        }
        return $vm;
+5 −3
Changes for src/UnicaenUtilisateur/Controller/RoleControllerFactory.php: 5 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ class RoleControllerFactory {
         * @var RoleService $roleService
         */
        $roleService = $container->get(RoleService::class);
        $config = $container->get('Config');

        /**
         * @var RoleForm $roleForm
@@ -21,9 +22,9 @@ 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'];
        if ($config['unicaen-utilisateur']['identity-provider'] !== "") {
            if (isset($config['unicaen-utilisateur']['identity-provider'])) {
                $identityProviderPath = $config['unicaen-utilisateur']['identity-provider'];
                $identityProvider = $container->get($identityProviderPath);
            }
        }
@@ -33,6 +34,7 @@ class RoleControllerFactory {
        $controller->setIdentityProvider($identityProvider);
        $controller->setRoleService($roleService);
        $controller->setRoleForm($roleForm);
        
        return $controller;
    }
}
 No newline at end of file
+37 −45
Changes for src/UnicaenUtilisateur/Controller/UtilisateurController.php: 37 added lines, 45 removed lines.
Original line number Diff line number Diff line
@@ -6,8 +6,7 @@ use BjyAuthorize\Provider\Identity\ProviderInterface;
use DateTime;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenApp\View\Model\CsvModel;
use UnicaenUtilisateur\Entity\Db\Role;
use UnicaenUtilisateur\Entity\Db\User;
use UnicaenUtilisateur\Entity\Db\UserInterface;
use UnicaenUtilisateur\Form\User\UserFormAwareTrait;
use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuServiceInterface;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
@@ -20,7 +19,8 @@ use Zend\View\Model\ViewModel;

/** @method FlashMessenger flashMessenger() */

class UtilisateurController extends AbstractActionController {
class UtilisateurController extends AbstractActionController
{
    use RoleServiceAwareTrait;
    use UserServiceAwareTrait;
    use EntityManagerAwareTrait;
@@ -39,7 +39,7 @@ class UtilisateurController extends AbstractActionController {

    public function indexAction()
    {
        $roles = $this->getRoleService()->getRoles();
        $roles = $this->roleService->findAll();
        $utilisateur = null;
        $rolesAffectes = [];
        $rolesDisponibles = [];
@@ -54,7 +54,7 @@ class UtilisateurController extends AbstractActionController {
            $utilisateur = null;
            switch($source) {
                case 'app' :
                    $utilisateur = $this->getUserService()->getUtilisateur($id);
                    $utilisateur = $this->userService->find($id);
                    $params = [];
                    if ($utilisateur !== null) $params = ["query" => ["id" => $id]];
                    return $this->redirect()->toRoute(null, [], $params, true);
@@ -63,14 +63,14 @@ class UtilisateurController extends AbstractActionController {
                default :
                    if (isset($this->recherche[$source])) {
                        $people = $this->recherche[$source]->findById($id);
                        $utilisateur = $this->getUserService()->importFromRechercheIndividuResultatInterface($people, $source);
                        $utilisateur = $this->userService->importFromRechercheIndividuResultatInterface($people, $source);

                        $params = [];
                        if (!$this->userService->exist($utilisateur->getUsername())) {
                        if (!$this->userService->findByUsername($utilisateur->getUsername())) {
                            $this->userService->create($utilisateur);
                            $params = array_merge($params, ["query" => ["id" => $utilisateur->getId()]]);
                        } else {
                            $old = $this->getUserService()->getUtilisateurByUsername($utilisateur->getUsername());
                            $old = $this->userService->findByUsername($utilisateur->getUsername());
                            $params = array_merge($params, ["query" => ["id" => $old->getId()]]);
                            $this->flashMessenger()->addErrorMessage('Utilisateur <strong>' . $utilisateur->getUsername() . '</strong> déjà enregistré en base.');
                        }
@@ -85,8 +85,8 @@ class UtilisateurController extends AbstractActionController {

        $utilisateurId = $this->params()->fromQuery("id");
        if ($utilisateurId !== null) {
            /** @var User $utilisateur */
            $utilisateur = $this->getUserService()->getUtilisateur($utilisateurId);
            /** @var UserInterface $utilisateur */
            $utilisateur = $this->userService->find($utilisateurId);
            if ($utilisateur !== null) {
                $rolesAffectes = $utilisateur->getRoles()->toArray();
                $rolesDisponibles = array_diff($roles, $rolesAffectes);
@@ -108,9 +108,9 @@ class UtilisateurController extends AbstractActionController {
    /** Ajout d'un utilisateur local **/
    public function ajouterAction()
    {
        $user = new User();
        $user = $this->userService->getEntityInstance();
        $form = $this->getUserForm();
        $form->setAttribute('action', $this->url()->fromRoute('utilisateur-preecog/ajouter', [], [], true));
        $form->setAttribute('action', $this->url()->fromRoute('unicaen-utilisateur/ajouter', [], [], true));
        $form->bind($user);

        /** @var Request $request */
@@ -119,8 +119,8 @@ class UtilisateurController extends AbstractActionController {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getUserService()->createLocalUser($user);
                return $this->redirect()->toRoute('utilisateur-preecog',[], ["query" => ["id" => $user->getId()]], true);
                $this->userService->createLocal($user);
                return $this->redirect()->toRoute('unicaen-utilisateur',[], ["query" => ["id" => $user->getId()]], true);
            }
        }

@@ -141,18 +141,13 @@ class UtilisateurController extends AbstractActionController {
        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {

            /**
             * @var User $utilisateur
             * @var Role $role
             */
            $utilisateurId = $this->params()->fromRoute("utilisateur");
            $utilisateur = $this->getUserService()->getUtilisateur($utilisateurId);
            $utilisateur = $this->userService->find($utilisateurId);
            $roleId = $this->params()->fromRoute("role");
            $role = $this->getRoleService()->getRole($roleId);
            $role = $this->roleService->find($roleId);

            if ($utilisateur !== null && $role !== null) {
                $this->getUserService()->addRole($utilisateur, $role);
                $this->userService->addRole($utilisateur, $role);
            }
        }

@@ -162,7 +157,8 @@ class UtilisateurController extends AbstractActionController {
        ]);
    }

    public function removeRoleAction() {
    public function removeRoleAction()
    {

        $role = null;
        $utilisateur = null;
@@ -170,18 +166,13 @@ class UtilisateurController extends AbstractActionController {
        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {

            /**
             * @var User $utilisateur
             * @var Role $role
             */
            $utilisateurId = $this->params()->fromRoute("utilisateur");
            $utilisateur = $this->getUserService()->getUtilisateur($utilisateurId);
            $utilisateur = $this->userService->find($utilisateurId);
            $roleId = $this->params()->fromRoute("role");
            $role = $this->getRoleService()->getRole($roleId);
            $role = $this->roleService->find($roleId);

            if ($utilisateur !== null && $role !== null) {
                $this->getUserService()->removeRole($utilisateur,$role);
                $this->userService->removeRole($utilisateur,$role);
            }
        }

@@ -191,28 +182,28 @@ class UtilisateurController extends AbstractActionController {
        ]);
    }

    public function changerStatusAction() {
        /** @var User $utilisateur */
    public function changerStatutAction()
    {
        $utilisateurId = $this->params()->fromRoute("utilisateur");
        $utilisateur = $this->getUserService()->getUtilisateur($utilisateurId);
        $utilisateur = $this->getUserService()->changerStatus($utilisateur);
        $utilisateur = $this->userService->find($utilisateurId);
        $utilisateur = $this->userService->changeStatus($utilisateur);

        $params = [];
        if ($utilisateur !== null) $params = ["query" => ["id" => $utilisateur->getId()]];
        return $this->redirect()->toRoute('utilisateur-preecog', [], $params, true);
        return $this->redirect()->toRoute('utilisateur', [], $params, true);
    }

    public function effacerAction() {
        /** @var User $utilisateur */
    public function effacerAction()
    {
        $utilisateurId = $this->params()->fromRoute("utilisateur");
        $utilisateur = $this->getUserService()->getUtilisateur($utilisateurId);
        $utilisateur = $this->userService->find($utilisateurId);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            if ($data["reponse"] === "oui") $this->getUserService()->supprimer($utilisateur);
            //return $this->redirect()->toRoute('utilisateur-preecog', [], [], true);
            if ($data["reponse"] === "oui") $this->userService->supprimer($utilisateur);
            //return $this->redirect()->toRoute('utilisateur', [], [], true);
            exit();
        }

@@ -222,7 +213,7 @@ class UtilisateurController extends AbstractActionController {
            $vm->setVariables([
                'title' => "Suppression de l'utilisation " . $utilisateur->getDisplayName(),
                'text' => "La suppression est définitive êtes-vous sûr&middot;e de vouloir continuer ?",
                'action' => $this->url()->fromRoute('utilisateur-preecog/effacer', ["utilisateur" => $utilisateur->getId()], [], true),
                'action' => $this->url()->fromRoute('unicaen-utilisateur/effacer', ["utilisateur" => $utilisateur->getId()], [], true),
            ]);
        }
        return $vm;
@@ -258,7 +249,7 @@ class UtilisateurController extends AbstractActionController {
    public function rechercherUtilisateurAction() : JsonModel
    {
        $term = $this->params()->fromQuery('term');
        $res = $this->getUserService()->findByTerm($term);
        $res = $this->userService->findByTerm($term);
        
        foreach ($res as $user) {
            $result[] = array(
@@ -272,7 +263,8 @@ class UtilisateurController extends AbstractActionController {

    public function listingAction()
    {
        $users = $this->getUserService()->getUtilisateurs();
        $users = $this->userService->findAll();

        return new ViewModel([
            'users' => $users,
        ]);
@@ -280,7 +272,7 @@ class UtilisateurController extends AbstractActionController {
    
    public function exportAction() 
    {
        $users = $this->getUserService()->getUtilisateurs();
        $users = $this->userService->findAll();
        $headers = [ 'Nom d\'utilisateur', 'Nom affiché', 'Actif', 'Rôle'];

        $records = [];
Loading