Commit 5727334a authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Transfert du code associé aux métiers dans Ressources

parent a1f6cfd7
Loading
Loading
Loading
Loading
+7 −1
Changes for module/Application/config/merged/menu.config.php: 7 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@ use Application\Provider\Privilege\ActivitePrivileges;
use Application\Provider\Privilege\AffectationPrivileges;
use Application\Provider\Privilege\ApplicationPrivileges;
use Application\Provider\Privilege\FicheMetierPrivileges;
use Application\Provider\Privilege\MetierPrivileges;
use Application\Provider\Privilege\RessourceRhPrivileges;

return [
@@ -41,6 +40,13 @@ return [
                                'dropdown-header' => true,
                                'icon' => 'fas fa-angle-right'
                            ],
                            [
                                'label' => 'Corps',
                                'route' => 'ressource-rh',
                                'privileges' => RessourceRhPrivileges::AFFICHER,
                                'dropdown-header' => true,
                                'icon' => 'fas fa-angle-right'
                            ],
                        ],
                    ],
                    'fiche-metier' => [
+0 −143
Changes for module/Application/config/merged/metier.config.php: 0 added lines, 143 removed lines.
Original line number Diff line number Diff line
<?php

namespace Application;

use Application\Controller\Metier\MetierController;
use Application\Controller\Metier\MetierControllerFactory;
use Application\Form\Metier\MetierForm;
use Application\Form\Metier\MetierFormFactory;
use Application\Form\Metier\MetierHydrator;
use Application\Provider\Privilege\MetierPrivileges;
use Application\Service\Metier\MetierService;
use Application\Service\Metier\MetierServiceFactory;
use UnicaenAuth\Guard\PrivilegeController;
use Zend\Mvc\Router\Http\Literal;
use Zend\Mvc\Router\Http\Segment;

return [
    'bjyauthorize' => [
        'guards' => [
            PrivilegeController::class => [
                [
                    'controller' => MetierController::class,
                    'action' => [
                        'index',
                        'afficher',
                    ],
                    'privileges' => [
                        MetierPrivileges::AFFICHER,
                    ],
                ],
                [
                    'controller' => MetierController::class,
                    'action' => [
                        'editer',
                    ],
                    'privileges' => [
                        MetierPrivileges::EDITER,
                    ],
                ],
                [
                    'controller' => MetierController::class,
                    'action' => [
                        'creer',
                    ],
                    'privileges' => [
                        MetierPrivileges::AJOUTER,
                    ],
                ],
                [
                    'controller' => MetierController::class,
                    'action' => [
                        'effacer',
                    ],
                    'privileges' => [
                        MetierPrivileges::EFFACER,
                    ],
                ],
            ],
        ],
    ],

    'router'          => [
        'routes' => [
            'metier' => [
                'type'  => Literal::class,
                'options' => [
                    'route'    => '/metier',
                    'defaults' => [
                        'controller' => MetierController::class,
                        'action'     => 'index',
                    ],
                ],
                'may_terminate' => true,
                'child_routes' => [
                    'afficher' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/afficher/:id',
                            'defaults' => [
                                'controller' => MetierController::class,
                                'action'     => 'afficher',
                            ],
                        ],
                    ],
                    'editer' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/editer/:id',
                            'defaults' => [
                                'controller' => MetierController::class,
                                'action'     => 'editer',
                            ],
                        ],
                    ],
                    'effacer' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/effacer/:id',
                            'defaults' => [
                                'controller' => MetierController::class,
                                'action'     => 'effacer',
                            ],
                        ],
                    ],
                    'creer' => [
                        'type'  => Literal::class,
                        'options' => [
                            'route'    => '/creer',
                            'defaults' => [
                                'controller' => MetierController::class,
                                'action'     => 'creer',
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],

    'service_manager' => [
        'invokables' => [
        ],
        'factories' => [
            MetierService::class => MetierServiceFactory::class,
        ],
    ],
    'controllers'     => [
        'factories' => [
            MetierController::class => MetierControllerFactory::class,
        ],
    ],
    'form_elements' => [
        'factories' => [
            MetierForm::class => MetierFormFactory::class,
        ],
    ],
    'hydrators' => [
        'invokable' => [
            MetierHydrator::class => MetierHydrator::class,
        ]
    ]

];
 No newline at end of file
+84 −5
Changes for module/Application/config/merged/ressource-rh.config.php: 84 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -2,8 +2,12 @@

namespace Application;

use Application\Controller\Metier\MetierController;
use Application\Controller\RessourceRh\RessourceRhController;
use Application\Controller\RessourceRh\RessourceRhControllerFactory;
use Application\Form\RessourceRh\MetierForm;
use Application\Form\RessourceRh\MetierFormFactory;
use Application\Form\RessourceRh\MetierHydrator;
use Application\Form\RessourceRh\AgentStatusForm;
use Application\Form\RessourceRh\AgentStatusFormFactory;
use Application\Form\RessourceRh\AgentStatusHydrator;
@@ -13,6 +17,7 @@ use Application\Form\RessourceRh\CorpsHydrator;
use Application\Form\RessourceRh\CorrespondanceForm;
use Application\Form\RessourceRh\CorrespondanceFormFactory;
use Application\Form\RessourceRh\CorrespondanceHydrator;
use Application\Provider\Privilege\RessourceRhPrivileges;
use Application\Service\RessourceRh\RessourceRhService;
use Application\Service\RessourceRh\RessourceRhServiceFactory;
use UnicaenAuth\Guard\PrivilegeController;
@@ -27,17 +32,46 @@ return [
                    'controller' => RessourceRhController::class,
                    'action' => [
                        'index',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::AFFICHER,
                    ],
                ],
                [
                    'controller' => RessourceRhController::class,
                    'action' => [
                        'creer-agent-status',
                        'modifier-agent-status',
                        'effacer-agent-status',
                        'creer-correspondance',
                        'modifier-correspondance',
                        'effacer-correspondance',
                        'creer-corps',
                        'creer-metier',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::AJOUTER,
                    ],
                ],
                [
                    'controller' => RessourceRhController::class,
                    'action' => [
                        'modifier-agent-status',
                        'modifier-correspondance',
                        'modifier-corps',
                        'modifier-metier',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::MODIFIER,
                    ],
                ],
                [
                    'controller' => RessourceRhController::class,
                    'action' => [
                        'effacer-corps',
                        'effacer-correspondance',
                        'effacer-metier',
                        'effacer-agent-status',
                    ],
                    'privileges' => [
                        RessourceRhPrivileges::EFFACER,
                    ],
                    'roles' => [],
                ],
            ],
        ],
@@ -173,6 +207,49 @@ return [
                            ],
                        ],
                    ],
                    'metier' => [
                        'type'  => Literal::class,
                        'options' => [
                            'route'    => '/metier',
                            'defaults' => [
                                'controller' => MetierController::class,
                                'action'     => 'index',
                            ],
                        ],
                        'may_terminate' => true,
                        'child_routes' => [
                            'modifier' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/modifier/:id',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'modifier-metier',
                                    ],
                                ],
                            ],
                            'effacer' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/effacer/:id',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'effacer-metier',
                                    ],
                                ],
                            ],
                            'creer' => [
                                'type'  => Literal::class,
                                'options' => [
                                    'route'    => '/creer',
                                    'defaults' => [
                                        'controller' => RessourceRhController::class,
                                        'action'     => 'creer-metier',
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
        ],
@@ -195,6 +272,7 @@ return [
            AgentStatusForm::class => AgentStatusFormFactory::class,
            CorpsForm::class => CorpsFormFactory::class,
            CorrespondanceForm::class => CorrespondanceFormFactory::class,
            MetierForm::class => MetierFormFactory::class,
        ],
    ],
    'hydrators' => [
@@ -202,6 +280,7 @@ return [
            AgentStatusHydrator::class => AgentStatusHydrator::class,
            CorpsHydrator::class => CorpsHydrator::class,
            CorrespondanceHydrator::class => CorrespondanceHydrator::class,
            MetierHydrator::class => MetierHydrator::class,
        ]
    ]

+67 −3
Changes for module/Application/src/Application/Controller/RessourceRh/RessourceRhController.php: 67 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -5,24 +5,24 @@ namespace Application\Controller\RessourceRh;
use Application\Entity\Db\AgentStatus;
use Application\Entity\Db\Corps;
use Application\Entity\Db\Correspondance;
use Application\Entity\Db\Metier;
use Application\Form\RessourceRh\MetierForm;
use Application\Form\RessourceRh\AgentStatusForm;
use Application\Form\RessourceRh\CorpsForm;
use Application\Form\RessourceRh\CorrespondanceForm;
use Application\Service\Metier\MetierServiceAwareTrait;
use Application\Service\RessourceRh\RessourceRhServiceAwareTrait;
use Zend\Http\Request;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class RessourceRhController extends AbstractActionController {
    use MetierServiceAwareTrait;
    use RessourceRhServiceAwareTrait;

    public function indexAction()
    {
        $status = $this->getRessourceRhService()->getAgentStatusListe('libelle');
        $correspondances = $this->getRessourceRhService()->getCorrespondances('libelle');
        $metiers = $this->getMetierService()->getMetiers('libelle');
        $metiers = $this->getRessourceRhService()->getMetiers('libelle');
        $corps = $this->getRessourceRhService()->getCorpsListe('libelle');

        return new ViewModel([
@@ -228,4 +228,68 @@ class RessourceRhController extends AbstractActionController {
        $this->redirect()->toRoute('ressource-rh', [], [], true);
    }

    /** METIER ********************************************************************************************************/

    public function creerMetierAction()
    {
        $metier = new Metier();

        /** @var CorpsForm $form */
        $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierForm::class);
        $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/metier/creer', [], [], true));
        $form->bind($metier);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRessourceRhService()->createMetier($metier);
            }
        }

        return new ViewModel([
            'title' => 'Ajouter un nouveau métier',
            'form' => $form,
        ]);
    }

    public function modifierMetierAction()
    {
        $metierId = $this->params()->fromRoute('id');
        $metier = $this->getRessourceRhService()->getMetier($metierId);

        /** @var MetierForm $form */
        $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierForm::class);
        $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/metier/modifier', [], [], true));
        $form->bind($metier);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getRessourceRhService()->updateMetier($metier);
            }
        }

        return new ViewModel([
            'title' => 'Modifier un métier',
            'form' => $form,
        ]);
    }

    public function effacerMetierAction()
    {
        $metierId = $this->params()->fromRoute('id');
        $metier = $this->getRessourceRhService()->getMetier($metierId);

        if ($metier !== null) {
            $this->getRessourceRhService()->deleteMetier($metier);
        }

        $this->redirect()->toRoute('ressource-rh', [], [], true);
    }
}
 No newline at end of file
+0 −4
Changes for module/Application/src/Application/Controller/RessourceRh/RessourceRhControllerFactory.php: 0 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@

namespace Application\Controller\RessourceRh;

use Application\Service\Metier\MetierService;
use Application\Service\RessourceRh\RessourceRhService;
use Zend\Mvc\Controller\ControllerManager;

@@ -11,15 +10,12 @@ class RessourceRhControllerFactory {
    public function __invoke(ControllerManager $controllerManager)
    {
        /**
         * @var MetierService $metierService
         * @var RessourceRhService $ressourceService
         */
        $metierService       = $controllerManager->getServiceLocator()->get(MetierService::class);
        $ressourceService    = $controllerManager->getServiceLocator()->get(RessourceRhService::class);

        /** @var RessourceRhController $controller */
        $controller = new RessourceRhController();
        $controller->setMetierService($metierService);
        $controller->setRessourceRhService($ressourceService);
        return $controller;
    }
Loading