Commit 8d559a00 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Déplacement des actions liées au famille professionnelle de MetierController...

Déplacement des actions liées au famille professionnelle de MetierController vers FamilleProfessionnelleController
parent 52712581
Loading
Loading
Loading
Loading
+0 −23
Changes for module/Application/config/merged/domaine.config.php: 0 added lines, 23 removed lines.
Original line number Diff line number Diff line
@@ -4,36 +4,13 @@ namespace Application;

use Application\Controller\DomaineController;
use Application\Controller\DomaineControllerFactory;
use Application\Controller\MetierController;
use Application\Controller\MetierControllerFactory;
use Application\Form\Domaine\DomaineForm;
use Application\Form\Domaine\DomaineFormFactory;
use Application\Form\Domaine\DomaineHydrator;
use Application\Form\Domaine\DomaineHydratorFactory;
use Application\Form\Metier\MetierForm;
use Application\Form\Metier\MetierFormFactory;
use Application\Form\Metier\MetierHydrator;
use Application\Form\Metier\MetierHydratorFactory;
use Application\Form\MetierReference\MetierReferenceForm;
use Application\Form\MetierReference\MetierReferenceFormFactory;
use Application\Form\MetierReference\MetierReferenceHydrator;
use Application\Form\MetierReference\MetierReferenceHydraytorFactory;
use Application\Form\MetierReferentiel\MetierReferentielForm;
use Application\Form\MetierReferentiel\MetierReferentielFormFactory;
use Application\Form\MetierReferentiel\MetierReferentielHydrator;
use Application\Form\MetierReferentiel\MetierReferentielHydratorFactory;
use Application\Provider\Privilege\MetierPrivileges;
use Application\Service\Domaine\DomaineService;
use Application\Service\Domaine\DomaineServiceFactory;
use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleService;
use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleServiceFactory;
use Application\Service\Metier\MetierService;
use Application\Service\Metier\MetierServiceFactory;
use Application\Service\MetierReference\MetierReferenceService;
use Application\Service\MetierReference\MetierReferenceServiceFactory;
use Application\Service\MetierReferentiel\MetierReferentielService;
use Application\Service\MetierReferentiel\MetierReferentielServiceFactory;
use Application\View\Helper\TypeFonctionViewHelper;
use UnicaenPrivilege\Guard\PrivilegeController;
use Zend\Router\Http\Literal;
use Zend\Router\Http\Segment;
+148 −0
Changes for module/Application/config/merged/famille-professionnelle.config.php: 148 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

namespace Application;

use Application\Controller\FamilleProfessionnelleController;
use Application\Controller\FamilleProfessionnelleControllerFactory;
use Application\Provider\Privilege\MetierPrivileges;
use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleService;
use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleServiceFactory;
use UnicaenPrivilege\Guard\PrivilegeController;
use Zend\Router\Http\Literal;
use Zend\Router\Http\Segment;

return [
    'bjyauthorize' => [
        'guards' => [
            PrivilegeController::class => [
                [
                    'controller' => FamilleProfessionnelleController::class,
                    'action' => [
                        'ajouter',
                    ],
                    'privileges' => [
                        MetierPrivileges::METIER_AJOUTER,
                    ],
                ],
                [
                    'controller' => FamilleProfessionnelleController::class,
                    'action' => [
                        'modifier',
                    ],
                    'privileges' => [
                        MetierPrivileges::METIER_MODIFIER,
                    ],
                ],
                [
                    'controller' => FamilleProfessionnelleController::class,
                    'action' => [
                        'historiser',
                        'restaurer',
                    ],
                    'privileges' => [
                        MetierPrivileges::METIER_HISTORISER,
                    ],
                ],
                [
                    'controller' => FamilleProfessionnelleController::class,
                    'action' => [
                        'effacer',
                    ],
                    'privileges' => [
                        MetierPrivileges::METIER_DETRUIRE,
                    ],
                ],
            ],
        ],
    ],

    'router'          => [
        'routes' => [
            'famille-professionnelle' => [
                'type'  => Literal::class,
                'options' => [
                    'route'    => '/famille-professionnelle',
                    'defaults' => [
                        'controller' => FamilleProfessionnelleController::class,
                    ],
                ],
                'may_terminate' => false,
                'child_routes' => [
                    'ajouter' => [
                        'type'  => Literal::class,
                        'options' => [
                            'route'    => '/ajouter',
                            'defaults' => [
                                'controller' => FamilleProfessionnelleController::class,
                                'action'     => 'ajouter',
                            ],
                        ],
                    ],
                    'modifier' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier/:famille-professionnelle',
                            'defaults' => [
                                'controller' => FamilleProfessionnelleController::class,
                                'action'     => 'modifier',
                            ],
                        ],
                    ],
                    'historiser' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/historiser-famille/:famille-professionnelle',
                            'defaults' => [
                                'controller' => FamilleProfessionnelleController::class,
                                'action'     => 'historiser',
                            ],
                        ],
                    ],
                    'restaurer' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/restaurer-famille/:famille-professionnelle',
                            'defaults' => [
                                'controller' => FamilleProfessionnelleController::class,
                                'action'     => 'restaurer',
                            ],
                        ],
                    ],
                    'effacer' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/effacer-famille/:famille-professionnelle',
                            'defaults' => [
                                'controller' => FamilleProfessionnelleController::class,
                                'action'     => 'effacer',
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],

    'service_manager' => [
        'factories' => [
            FamilleProfessionnelleService::class => FamilleProfessionnelleServiceFactory::class,
        ],
    ],
    'controllers'     => [
        'factories' => [
            FamilleProfessionnelleController::class => FamilleProfessionnelleControllerFactory::class,
        ],
    ],
    'form_elements' => [
        'factories' => [
        ],
    ],
    'hydrators' => [
        'factories' => [
        ],
    ],
    'view_helpers' => [
        'invokables' => [
        ],
    ],
];
+0 −1
Changes for module/Application/src/Application/Controller/DomaineController.php: 0 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ class DomaineController extends AbstractActionController {
        if ($request->isPost()) {
            $data = $request->getPost();
            if ($data["reponse"] === "oui") $this->getDomaineService()->delete($domaine);
            //return $this->redirect()->toRoute('home');
            exit();
        }

+121 −0
Changes for module/Application/src/Application/Controller/FamilleProfessionnelleController.php: 121 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

namespace Application\Controller;

use Application\Entity\Db\FamilleProfessionnelle;
use Application\Form\ModifierLibelle\ModifierLibelleForm;
use Application\Form\ModifierLibelle\ModifierLibelleFormAwareTrait;
use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleServiceAwareTrait;
use Zend\Http\Request;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class FamilleProfessionnelleController extends AbstractActionController {
    use FamilleProfessionnelleServiceAwareTrait;
    use ModifierLibelleFormAwareTrait;


    public function ajouterAction()
    {
        $famille = new FamilleProfessionnelle();

        /** @var ModifierLibelleForm $form */
        $form = $this->getModifierLibelleForm();
        $form->setAttribute('action', $this->url()->fromRoute('famille-professionnelle/ajouter', [], [], true));
        $form->bind($famille);

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

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Ajouter une nouvelle famille de métiers',
            'form' => $form,
        ]);
        return $vm;
    }

    public function modifierAction()
    {
        $famille = $this->getFamilleProfessionnelleService()->getRequestedFamilleProfessionnelle($this);

        /** @var ModifierLibelleForm $form */
        $form = $this->getModifierLibelleForm();
        $form->setAttribute('action', $this->url()->fromRoute('famille-professionnelle/modifier', ['famille-professionnelle' => $famille->getId()], [], true));
        $form->bind($famille);

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

        $vm = new ViewModel();
        $vm->setTemplate('application/default/default-form');
        $vm->setVariables([
            'title' => 'Modifier une famille de métiers',
            'form' => $form,
        ]);
        return $vm;
    }

    public function historiserAction()
    {
        $famille = $this->getFamilleProfessionnelleService()->getRequestedFamilleProfessionnelle($this);

        if ($famille !== null) {
            $this->getFamilleProfessionnelleService()->historise($famille);
        }

        return $this->redirect()->toRoute('metier', [], ['fragment'=>'famille'], true);
    }

    public function restaurerAction()
    {
        $famille = $this->getFamilleProfessionnelleService()->getRequestedFamilleProfessionnelle($this);

        if ($famille !== null) {
            $this->getFamilleProfessionnelleService()->restore($famille);
        }

        return $this->redirect()->toRoute('metier', [], ['fragment'=>'famille'], true);
    }

    public function effacerAction()
    {
        $famille = $this->getFamilleProfessionnelleService()->getRequestedFamilleProfessionnelle($this);

        /** @var Request $request */
        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            if ($data["reponse"] === "oui") $this->getFamilleProfessionnelleService()->delete($famille);
            //return $this->redirect()->toRoute('home');
            exit();
        }

        $vm = new ViewModel();
        if ($famille !== null) {
            $vm->setTemplate('application/default/confirmation');
            $vm->setVariables([
                'title' => "Suppression de la famille professionnelle" . $famille->getLibelle(),
                'text' => "La suppression est définitive êtes-vous sûr&middot;e de vouloir continuer ?",
                'action' => $this->url()->fromRoute('famille-professionnelle/effacer', ["famille-professionnelle" => $famille->getId()], [], true),
            ]);
        }
        return $vm;
    }

}
 No newline at end of file
+32 −0
Changes for module/Application/src/Application/Controller/FamilleProfessionnelleControllerFactory.php: 32 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

namespace Application\Controller;

use Application\Form\ModifierLibelle\ModifierLibelleForm;
use Application\Service\FamilleProfessionnelle\FamilleProfessionnelleService;
use Interop\Container\ContainerInterface;

class FamilleProfessionnelleControllerFactory {

    /**
     * @param ContainerInterface $container
     * @return FamilleProfessionnelleController
     */
    public function __invoke(ContainerInterface $container)
    {
        /**
         * @var FamilleProfessionnelleService $familleService
         */
        $familleService = $container->get(FamilleProfessionnelleService::class);

        /**
         * @var ModifierLibelleForm $modifierLibelleForm
         */
        $modifierLibelleForm = $container->get('FormElementManager')->get(ModifierLibelleForm::class);

        $controller = new FamilleProfessionnelleController();
        $controller->setFamilleProfessionnelleService($familleService);
        $controller->setModifierLibelleForm($modifierLibelleForm);
        return $controller;
    }
}
 No newline at end of file
Loading