Loading module/Application/config/merged/ressource-rh.config.php +47 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,9 @@ namespace Application; use Application\Controller\Metier\MetierController; use Application\Controller\RessourceRh\RessourceRhController; use Application\Controller\RessourceRh\RessourceRhControllerFactory; use Application\Form\RessourceRh\DomaineForm; use Application\Form\RessourceRh\DomaineFormFactory; use Application\Form\RessourceRh\DomaineHydrator; use Application\Form\RessourceRh\MetierFamilleForm; use Application\Form\RessourceRh\MetierFamilleFormFactory; use Application\Form\RessourceRh\MetierFamilleHydrator; Loading Loading @@ -49,6 +52,7 @@ return [ 'creer-corps', 'creer-metier', 'creer-famille', 'ajouter-domaine', ], 'privileges' => [ RessourceRhPrivileges::AJOUTER, Loading @@ -62,6 +66,7 @@ return [ 'modifier-corps', 'modifier-metier', 'modifier-famille', 'modifier-domaine', ], 'privileges' => [ RessourceRhPrivileges::MODIFIER, Loading @@ -75,6 +80,7 @@ return [ 'effacer-metier', 'effacer-agent-status', 'effacer-famille', 'supprimer-domaine', ], 'privileges' => [ RessourceRhPrivileges::EFFACER, Loading Loading @@ -296,6 +302,45 @@ return [ ], ], ], 'domaine' => [ 'type' => Literal::class, 'options' => [ 'route' => '/domaine', ], 'may_terminate' => false, 'child_routes' => [ 'ajouter' => [ 'type' => Literal::class, 'options' => [ 'route' => '/ajouter', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'ajouter-domaine', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:domaine', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'modifier-domaine', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:domaine', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'supprimer-domaine', ], ], ], ], ], ], ], ], Loading @@ -320,6 +365,7 @@ return [ CorrespondanceForm::class => CorrespondanceFormFactory::class, MetierForm::class => MetierFormFactory::class, MetierFamilleForm::class => MetierFamilleFormFactory::class, DomaineForm::class => DomaineFormFactory::class, ], ], 'hydrators' => [ Loading @@ -328,6 +374,7 @@ return [ CorpsHydrator::class => CorpsHydrator::class, CorrespondanceHydrator::class => CorrespondanceHydrator::class, MetierFamilleHydrator::class => MetierFamilleHydrator::class, DomaineHydrator::class => DomaineHydrator::class, ], 'factories' => [ MetierHydrator::class => MetierHydratorFactory::class, Loading module/Application/src/Application/Controller/RessourceRh/RessourceRhController.php +79 −0 Original line number Diff line number Diff line Loading @@ -5,8 +5,10 @@ namespace Application\Controller\RessourceRh; use Application\Entity\Db\AgentStatus; use Application\Entity\Db\Corps; use Application\Entity\Db\Correspondance; use Application\Entity\Db\Domaine; use Application\Entity\Db\Metier; use Application\Entity\Db\MetierFamille; use Application\Form\RessourceRh\DomaineForm; use Application\Form\RessourceRh\MetierFamilleForm; use Application\Form\RessourceRh\MetierForm; use Application\Form\RessourceRh\AgentStatusForm; Loading @@ -27,6 +29,7 @@ class RessourceRhController extends AbstractActionController { $metiers = $this->getRessourceRhService()->getMetiers('libelle'); $corps = $this->getRessourceRhService()->getCorpsListe('libelle'); $familles = $this->getRessourceRhService()->getMetiersFamilles('libelle'); $domaines = $this->getRessourceRhService()->getDomaines('libelle'); return new ViewModel([ 'status' => $status, Loading @@ -34,6 +37,7 @@ class RessourceRhController extends AbstractActionController { 'metiers' => $metiers, 'familles' => $familles, 'corps' => $corps, 'domaines' => $domaines, ]); } Loading Loading @@ -391,4 +395,79 @@ class RessourceRhController extends AbstractActionController { $this->redirect()->toRoute('ressource-rh', [], [], true); } /** DOMAINE *******************************************************************************************************/ public function ajouterDomaineAction() { /** @var Domaine $domaine */ $domaine = new Domaine(); /** @var DomaineForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(DomaineForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/domaine/ajouter', [], [], true)); $form->bind($domaine); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->createDomaine($domaine); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Ajouter un domaine', 'form' => $form, ]); return $vm; } public function modifierDomaineAction() { /** @var Domaine $domaine */ $domaineId = $this->params()->fromRoute('domaine'); $domaine = $this->getRessourceRhService()->getDomaine($domaineId); /** @var DomaineForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(DomaineForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/domaine/modifier', ['domaine' => $domaine->getId()], [], true)); $form->bind($domaine); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->updateDomaine($domaine); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Modifier un domaine', 'form' => $form, ]); return $vm; } public function supprimerDomaineAction() { /** @var Domaine $domaine */ $domaineId = $this->params()->fromRoute('domaine'); $domaine = $this->getRessourceRhService()->getDomaine($domaineId); if ($domaine !== null) { $this->getRessourceRhService()->deleteDomaine($domaine); } $this->redirect()->toRoute('ressource-rh', [], [], true); } } No newline at end of file module/Application/src/Application/Form/RessourceRh/DomaineForm.php 0 → 100644 +40 −0 Original line number Diff line number Diff line <?php namespace Application\Form\RessourceRh; use Zend\Form\Element\Button; use Zend\Form\Element\Text; use Zend\Form\Form; class DomaineForm extends Form { public function init() { // libelle $this->add([ 'type' => Text::class, 'name' => 'libelle', 'options' => [ 'label' => "Libelle :", ], 'attributes' => [ 'id' => 'libelle', ], ]); // button $this->add([ 'type' => Button::class, 'name' => 'creer', 'options' => [ 'label' => '<i class="fas fa-save"></i> Enregistrer le domaine', 'label_options' => [ 'disable_html_escape' => true, ], ], 'attributes' => [ 'type' => 'submit', 'class' => 'btn btn-primary', ], ]); } } No newline at end of file module/Application/src/Application/Form/RessourceRh/DomaineFormFactory.php 0 → 100644 +20 −0 Original line number Diff line number Diff line <?php namespace Application\Form\RessourceRh; use Zend\Form\FormElementManager; class DomaineFormFactory { public function __invoke(FormElementManager $manager) { /** @var DomaineHydrator $hydrator */ $hydrator = $manager->getServiceLocator()->get('HydratorManager')->get(DomaineHydrator::class); $form = new DomaineForm(); $form->init(); $form->setHydrator($hydrator); return $form; } } No newline at end of file module/Application/src/Application/Form/RessourceRh/DomaineHydrator.php 0 → 100644 +33 −0 Original line number Diff line number Diff line <?php namespace Application\Form\RessourceRh; use Application\Entity\Db\Domaine; use Zend\Stdlib\Hydrator\HydratorInterface; class DomaineHydrator implements HydratorInterface { /** * @param Domaine $object * @return array */ public function extract($object) { $data = [ 'libelle' => $object->getLibelle(), ]; return $data; } /** * @param array $data * @param Domaine $object * @return Domaine */ public function hydrate(array $data, $object) { $object->setLibelle($data['libelle']); return $object; } } No newline at end of file Loading
module/Application/config/merged/ressource-rh.config.php +47 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,9 @@ namespace Application; use Application\Controller\Metier\MetierController; use Application\Controller\RessourceRh\RessourceRhController; use Application\Controller\RessourceRh\RessourceRhControllerFactory; use Application\Form\RessourceRh\DomaineForm; use Application\Form\RessourceRh\DomaineFormFactory; use Application\Form\RessourceRh\DomaineHydrator; use Application\Form\RessourceRh\MetierFamilleForm; use Application\Form\RessourceRh\MetierFamilleFormFactory; use Application\Form\RessourceRh\MetierFamilleHydrator; Loading Loading @@ -49,6 +52,7 @@ return [ 'creer-corps', 'creer-metier', 'creer-famille', 'ajouter-domaine', ], 'privileges' => [ RessourceRhPrivileges::AJOUTER, Loading @@ -62,6 +66,7 @@ return [ 'modifier-corps', 'modifier-metier', 'modifier-famille', 'modifier-domaine', ], 'privileges' => [ RessourceRhPrivileges::MODIFIER, Loading @@ -75,6 +80,7 @@ return [ 'effacer-metier', 'effacer-agent-status', 'effacer-famille', 'supprimer-domaine', ], 'privileges' => [ RessourceRhPrivileges::EFFACER, Loading Loading @@ -296,6 +302,45 @@ return [ ], ], ], 'domaine' => [ 'type' => Literal::class, 'options' => [ 'route' => '/domaine', ], 'may_terminate' => false, 'child_routes' => [ 'ajouter' => [ 'type' => Literal::class, 'options' => [ 'route' => '/ajouter', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'ajouter-domaine', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:domaine', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'modifier-domaine', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:domaine', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'supprimer-domaine', ], ], ], ], ], ], ], ], Loading @@ -320,6 +365,7 @@ return [ CorrespondanceForm::class => CorrespondanceFormFactory::class, MetierForm::class => MetierFormFactory::class, MetierFamilleForm::class => MetierFamilleFormFactory::class, DomaineForm::class => DomaineFormFactory::class, ], ], 'hydrators' => [ Loading @@ -328,6 +374,7 @@ return [ CorpsHydrator::class => CorpsHydrator::class, CorrespondanceHydrator::class => CorrespondanceHydrator::class, MetierFamilleHydrator::class => MetierFamilleHydrator::class, DomaineHydrator::class => DomaineHydrator::class, ], 'factories' => [ MetierHydrator::class => MetierHydratorFactory::class, Loading
module/Application/src/Application/Controller/RessourceRh/RessourceRhController.php +79 −0 Original line number Diff line number Diff line Loading @@ -5,8 +5,10 @@ namespace Application\Controller\RessourceRh; use Application\Entity\Db\AgentStatus; use Application\Entity\Db\Corps; use Application\Entity\Db\Correspondance; use Application\Entity\Db\Domaine; use Application\Entity\Db\Metier; use Application\Entity\Db\MetierFamille; use Application\Form\RessourceRh\DomaineForm; use Application\Form\RessourceRh\MetierFamilleForm; use Application\Form\RessourceRh\MetierForm; use Application\Form\RessourceRh\AgentStatusForm; Loading @@ -27,6 +29,7 @@ class RessourceRhController extends AbstractActionController { $metiers = $this->getRessourceRhService()->getMetiers('libelle'); $corps = $this->getRessourceRhService()->getCorpsListe('libelle'); $familles = $this->getRessourceRhService()->getMetiersFamilles('libelle'); $domaines = $this->getRessourceRhService()->getDomaines('libelle'); return new ViewModel([ 'status' => $status, Loading @@ -34,6 +37,7 @@ class RessourceRhController extends AbstractActionController { 'metiers' => $metiers, 'familles' => $familles, 'corps' => $corps, 'domaines' => $domaines, ]); } Loading Loading @@ -391,4 +395,79 @@ class RessourceRhController extends AbstractActionController { $this->redirect()->toRoute('ressource-rh', [], [], true); } /** DOMAINE *******************************************************************************************************/ public function ajouterDomaineAction() { /** @var Domaine $domaine */ $domaine = new Domaine(); /** @var DomaineForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(DomaineForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/domaine/ajouter', [], [], true)); $form->bind($domaine); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->createDomaine($domaine); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Ajouter un domaine', 'form' => $form, ]); return $vm; } public function modifierDomaineAction() { /** @var Domaine $domaine */ $domaineId = $this->params()->fromRoute('domaine'); $domaine = $this->getRessourceRhService()->getDomaine($domaineId); /** @var DomaineForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(DomaineForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/domaine/modifier', ['domaine' => $domaine->getId()], [], true)); $form->bind($domaine); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->updateDomaine($domaine); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Modifier un domaine', 'form' => $form, ]); return $vm; } public function supprimerDomaineAction() { /** @var Domaine $domaine */ $domaineId = $this->params()->fromRoute('domaine'); $domaine = $this->getRessourceRhService()->getDomaine($domaineId); if ($domaine !== null) { $this->getRessourceRhService()->deleteDomaine($domaine); } $this->redirect()->toRoute('ressource-rh', [], [], true); } } No newline at end of file
module/Application/src/Application/Form/RessourceRh/DomaineForm.php 0 → 100644 +40 −0 Original line number Diff line number Diff line <?php namespace Application\Form\RessourceRh; use Zend\Form\Element\Button; use Zend\Form\Element\Text; use Zend\Form\Form; class DomaineForm extends Form { public function init() { // libelle $this->add([ 'type' => Text::class, 'name' => 'libelle', 'options' => [ 'label' => "Libelle :", ], 'attributes' => [ 'id' => 'libelle', ], ]); // button $this->add([ 'type' => Button::class, 'name' => 'creer', 'options' => [ 'label' => '<i class="fas fa-save"></i> Enregistrer le domaine', 'label_options' => [ 'disable_html_escape' => true, ], ], 'attributes' => [ 'type' => 'submit', 'class' => 'btn btn-primary', ], ]); } } No newline at end of file
module/Application/src/Application/Form/RessourceRh/DomaineFormFactory.php 0 → 100644 +20 −0 Original line number Diff line number Diff line <?php namespace Application\Form\RessourceRh; use Zend\Form\FormElementManager; class DomaineFormFactory { public function __invoke(FormElementManager $manager) { /** @var DomaineHydrator $hydrator */ $hydrator = $manager->getServiceLocator()->get('HydratorManager')->get(DomaineHydrator::class); $form = new DomaineForm(); $form->init(); $form->setHydrator($hydrator); return $form; } } No newline at end of file
module/Application/src/Application/Form/RessourceRh/DomaineHydrator.php 0 → 100644 +33 −0 Original line number Diff line number Diff line <?php namespace Application\Form\RessourceRh; use Application\Entity\Db\Domaine; use Zend\Stdlib\Hydrator\HydratorInterface; class DomaineHydrator implements HydratorInterface { /** * @param Domaine $object * @return array */ public function extract($object) { $data = [ 'libelle' => $object->getLibelle(), ]; return $data; } /** * @param array $data * @param Domaine $object * @return Domaine */ public function hydrate(array $data, $object) { $object->setLibelle($data['libelle']); return $object; } } No newline at end of file