Loading module/Application/config/merged/fiche-metier.config.php +2 −1 Changes for module/Application/config/merged/fiche-metier.config.php: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use Application\Form\FicheMetierType\ActiviteExistanteFormFactory; use Application\Form\FicheMetierType\LibelleForm; use Application\Form\FicheMetierType\LibelleFormFactory; use Application\Form\FicheMetierType\LibelleHydrator; use Application\Form\FicheMetierType\LibelleHydratorFactory; use Application\Form\FicheMetierType\MissionsPrincipalesForm; use Application\Form\FicheMetierType\MissionsPrincipalesFormFactory; use Application\Form\FicheMetierType\MissionsPrincipalesHydrator; Loading Loading @@ -276,10 +277,10 @@ return [ 'hydrators' => [ 'invokables' => [ MissionsPrincipalesHydrator::class => MissionsPrincipalesHydrator::class, LibelleHydrator::class => LibelleHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, LibelleHydrator::class => LibelleHydratorFactory::class, ] ] Loading module/Application/config/merged/menu.config.php +8 −0 Changes for module/Application/config/merged/menu.config.php: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ 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; return [ 'navigation' => [ Loading Loading @@ -54,6 +55,13 @@ return [ 'dropdown-header' => true, 'icon' => 'fas fa-angle-right' ], [ 'label' => 'Les métiers', 'route' => 'metier', 'privileges' => MetierPrivileges::AFFICHER, 'dropdown-header' => true, 'icon' => 'fas fa-angle-right' ], ], ], ], Loading module/Application/config/merged/metier.config.php 0 → 100644 +143 −0 Changes for module/Application/config/merged/metier.config.php: 143 added lines, 0 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 module/Application/src/Application/Controller/Metier/MetierController.php 0 → 100644 +87 −0 Changes for module/Application/src/Application/Controller/Metier/MetierController.php: 87 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Controller\Metier; use Application\Entity\Db\Metier; use Application\Form\Metier\MetierForm; use Application\Service\Metier\MetierServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; class MetierController extends AbstractActionController { use MetierServiceAwareTrait; public function indexAction() { /** @var Metier[] $metiers */ $metiers = $this->getMetierService()->getMetiers('libelle'); return new ViewModel([ 'metiers' => $metiers, ]); } public function creerAction() { /** @var Metier $metier */ $metier = new Metier(); /** @var MetierForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierForm::class); $form->setAttribute('action', $this->url()->fromRoute('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->getMetierService()->create($metier); //$this->redirect()->toRoute('application'); } } return new ViewModel([ 'title' => 'Ajouter un métier', 'form' => $form, ]); } public function editerAction() { /** @var Metier $metier */ $metierId = $this->params()->fromRoute('id'); $metier = $this->getMetierService()->getMetier($metierId); /** @var MetierForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierForm::class); $form->setAttribute('action', $this->url()->fromRoute('metier/editer', ['id' => $metier->getId()], [], true)); $form->bind($metier); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getMetierService()->update($metier); //$this->redirect()->toRoute('application'); } } return new ViewModel([ 'title' => 'Éditer un métier', 'form' => $form, ]); } public function effacerAction() { /** @var Metier $metier */ $metierId = $this->params()->fromRoute('id'); $metier = $this->getMetierService()->getMetier($metierId); $this->getMetierService()->delete($metier); $this->redirect()->toRoute('metier'); } } No newline at end of file module/Application/src/Application/Controller/Metier/MetierControllerFactory.php 0 → 100644 +22 −0 Changes for module/Application/src/Application/Controller/Metier/MetierControllerFactory.php: 22 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Controller\Metier; use Application\Service\Metier\MetierService; use Zend\Mvc\Controller\ControllerManager; class MetierControllerFactory { public function __invoke(ControllerManager $controllerManager) { /** * @var MetierService $metierService */ $metierService = $controllerManager->getServiceLocator()->get(MetierService::class); /** @var MetierController $controller */ $controller = new MetierController(); $controller->setMetierService($metierService); return $controller; } } No newline at end of file Loading
module/Application/config/merged/fiche-metier.config.php +2 −1 Changes for module/Application/config/merged/fiche-metier.config.php: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use Application\Form\FicheMetierType\ActiviteExistanteFormFactory; use Application\Form\FicheMetierType\LibelleForm; use Application\Form\FicheMetierType\LibelleFormFactory; use Application\Form\FicheMetierType\LibelleHydrator; use Application\Form\FicheMetierType\LibelleHydratorFactory; use Application\Form\FicheMetierType\MissionsPrincipalesForm; use Application\Form\FicheMetierType\MissionsPrincipalesFormFactory; use Application\Form\FicheMetierType\MissionsPrincipalesHydrator; Loading Loading @@ -276,10 +277,10 @@ return [ 'hydrators' => [ 'invokables' => [ MissionsPrincipalesHydrator::class => MissionsPrincipalesHydrator::class, LibelleHydrator::class => LibelleHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, LibelleHydrator::class => LibelleHydratorFactory::class, ] ] Loading
module/Application/config/merged/menu.config.php +8 −0 Changes for module/Application/config/merged/menu.config.php: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ 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; return [ 'navigation' => [ Loading Loading @@ -54,6 +55,13 @@ return [ 'dropdown-header' => true, 'icon' => 'fas fa-angle-right' ], [ 'label' => 'Les métiers', 'route' => 'metier', 'privileges' => MetierPrivileges::AFFICHER, 'dropdown-header' => true, 'icon' => 'fas fa-angle-right' ], ], ], ], Loading
module/Application/config/merged/metier.config.php 0 → 100644 +143 −0 Changes for module/Application/config/merged/metier.config.php: 143 added lines, 0 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
module/Application/src/Application/Controller/Metier/MetierController.php 0 → 100644 +87 −0 Changes for module/Application/src/Application/Controller/Metier/MetierController.php: 87 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Controller\Metier; use Application\Entity\Db\Metier; use Application\Form\Metier\MetierForm; use Application\Service\Metier\MetierServiceAwareTrait; use Zend\Http\Request; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; class MetierController extends AbstractActionController { use MetierServiceAwareTrait; public function indexAction() { /** @var Metier[] $metiers */ $metiers = $this->getMetierService()->getMetiers('libelle'); return new ViewModel([ 'metiers' => $metiers, ]); } public function creerAction() { /** @var Metier $metier */ $metier = new Metier(); /** @var MetierForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierForm::class); $form->setAttribute('action', $this->url()->fromRoute('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->getMetierService()->create($metier); //$this->redirect()->toRoute('application'); } } return new ViewModel([ 'title' => 'Ajouter un métier', 'form' => $form, ]); } public function editerAction() { /** @var Metier $metier */ $metierId = $this->params()->fromRoute('id'); $metier = $this->getMetierService()->getMetier($metierId); /** @var MetierForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierForm::class); $form->setAttribute('action', $this->url()->fromRoute('metier/editer', ['id' => $metier->getId()], [], true)); $form->bind($metier); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getMetierService()->update($metier); //$this->redirect()->toRoute('application'); } } return new ViewModel([ 'title' => 'Éditer un métier', 'form' => $form, ]); } public function effacerAction() { /** @var Metier $metier */ $metierId = $this->params()->fromRoute('id'); $metier = $this->getMetierService()->getMetier($metierId); $this->getMetierService()->delete($metier); $this->redirect()->toRoute('metier'); } } No newline at end of file
module/Application/src/Application/Controller/Metier/MetierControllerFactory.php 0 → 100644 +22 −0 Changes for module/Application/src/Application/Controller/Metier/MetierControllerFactory.php: 22 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Application\Controller\Metier; use Application\Service\Metier\MetierService; use Zend\Mvc\Controller\ControllerManager; class MetierControllerFactory { public function __invoke(ControllerManager $controllerManager) { /** * @var MetierService $metierService */ $metierService = $controllerManager->getServiceLocator()->get(MetierService::class); /** @var MetierController $controller */ $controller = new MetierController(); $controller->setMetierService($metierService); return $controller; } } No newline at end of file