Loading module/Application/config/merged/ressource-rh.config.php +53 −3 Changes for module/Application/config/merged/ressource-rh.config.php: 53 added lines, 3 removed lines. 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\MetierFamilleForm; use Application\Form\RessourceRh\MetierFamilleFormFactory; use Application\Form\RessourceRh\MetierFamilleHydrator; use Application\Form\RessourceRh\MetierForm; use Application\Form\RessourceRh\MetierFormFactory; use Application\Form\RessourceRh\MetierHydrator; Loading @@ -17,6 +20,7 @@ use Application\Form\RessourceRh\CorpsHydrator; use Application\Form\RessourceRh\CorrespondanceForm; use Application\Form\RessourceRh\CorrespondanceFormFactory; use Application\Form\RessourceRh\CorrespondanceHydrator; use Application\Form\RessourceRh\MetierHydratorFactory; use Application\Provider\Privilege\RessourceRhPrivileges; use Application\Service\RessourceRh\RessourceRhService; use Application\Service\RessourceRh\RessourceRhServiceFactory; Loading Loading @@ -44,6 +48,7 @@ return [ 'creer-correspondance', 'creer-corps', 'creer-metier', 'creer-famille', ], 'privileges' => [ RessourceRhPrivileges::AJOUTER, Loading @@ -56,6 +61,7 @@ return [ 'modifier-correspondance', 'modifier-corps', 'modifier-metier', 'modifier-famille', ], 'privileges' => [ RessourceRhPrivileges::MODIFIER, Loading @@ -68,6 +74,7 @@ return [ 'effacer-correspondance', 'effacer-metier', 'effacer-agent-status', 'effacer-famille', ], 'privileges' => [ RessourceRhPrivileges::EFFACER, Loading Loading @@ -250,6 +257,45 @@ return [ ], ], ], 'famille' => [ 'type' => Literal::class, 'options' => [ 'route' => '/famille', ], 'may_terminate' => false, 'child_routes' => [ 'creer' => [ 'type' => Literal::class, 'options' => [ 'route' => '/creer', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'creer-famille', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:id', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'modifier-famille', ], ], ], 'effacer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/effacer/:id', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'effacer-famille', ], ], ], ], ], ], ], ], Loading @@ -273,15 +319,19 @@ return [ CorpsForm::class => CorpsFormFactory::class, CorrespondanceForm::class => CorrespondanceFormFactory::class, MetierForm::class => MetierFormFactory::class, MetierFamilleForm::class => MetierFamilleFormFactory::class, ], ], 'hydrators' => [ 'invokable' => [ 'invokables' => [ AgentStatusHydrator::class => AgentStatusHydrator::class, CorpsHydrator::class => CorpsHydrator::class, CorrespondanceHydrator::class => CorrespondanceHydrator::class, MetierHydrator::class => MetierHydrator::class, ] MetierFamilleHydrator::class => MetierFamilleHydrator::class, ], 'factories' => [ MetierHydrator::class => MetierHydratorFactory::class, ], ] ]; No newline at end of file module/Application/src/Application/Controller/RessourceRh/RessourceRhController.php +69 −0 Changes for module/Application/src/Application/Controller/RessourceRh/RessourceRhController.php: 69 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ use Application\Entity\Db\AgentStatus; use Application\Entity\Db\Corps; use Application\Entity\Db\Correspondance; use Application\Entity\Db\Metier; use Application\Entity\Db\MetierFamille; use Application\Form\RessourceRh\MetierFamilleForm; use Application\Form\RessourceRh\MetierForm; use Application\Form\RessourceRh\AgentStatusForm; use Application\Form\RessourceRh\CorpsForm; Loading @@ -24,11 +26,13 @@ class RessourceRhController extends AbstractActionController { $correspondances = $this->getRessourceRhService()->getCorrespondances('libelle'); $metiers = $this->getRessourceRhService()->getMetiers('libelle'); $corps = $this->getRessourceRhService()->getCorpsListe('libelle'); $familles = $this->getRessourceRhService()->getMetiersFamilles('libelle'); return new ViewModel([ 'status' => $status, 'correspondances' => $correspondances, 'metiers' => $metiers, 'familles' => $familles, 'corps' => $corps, ]); } Loading Loading @@ -292,4 +296,69 @@ class RessourceRhController extends AbstractActionController { $this->redirect()->toRoute('ressource-rh', [], [], true); } /** FAMILLE METIER ************************************************************************************************/ public function creerFamilleAction() { $famille = new MetierFamille(); /** @var CorpsForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierFamilleForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/famille/creer', [], [], true)); $form->bind($famille); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->createMetierFamille($famille); } } return new ViewModel([ 'title' => 'Ajouter une nouvelle famille de métiers', 'form' => $form, ]); } public function modifierFamilleAction() { $familleId = $this->params()->fromRoute('id'); $famille = $this->getRessourceRhService()->getMetierFamille($familleId); /** @var MetierForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierFamilleForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/famille/modifier', [], [], true)); $form->bind($famille); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->updateMetierFamille($famille); } } return new ViewModel([ 'title' => 'Modifier une famille de métiers', 'form' => $form, ]); } public function effacerFamilleAction() { $familleId = $this->params()->fromRoute('id'); $famille = $this->getRessourceRhService()->getMetierFamille($familleId); if ($famille !== null) { $this->getRessourceRhService()->deleteMetierFamille($famille); } $this->redirect()->toRoute('ressource-rh', [], [], true); } } No newline at end of file module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Metier.dcm.xml +3 −1 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Metier.dcm.xml: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ </id> <field name="libelle" type="string" length="128" column="libelle" nullable="false" /> <many-to-one target-entity="Application\Entity\Db\MetierFamille" field="famille"> <join-column name="famille" referenced-column-name="id" /> </many-to-one> </entity> </doctrine-mapping> module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.MetierFamille.dcm.xml 0 → 100644 +15 −0 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.MetierFamille.dcm.xml: 15 added lines, 0 removed lines. Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> <entity name="Application\Entity\Db\MetierFamille" table="metier_famille"> <id name="id" type="integer" column="id"> <generator strategy="IDENTITY"/> </id> <field name="libelle" type="string" length="128" column="libelle" nullable="false" /> <field name="couleur" type="string" length="64" column="couleur" nullable="true" /> <one-to-many target-entity="Application\Entity\Db\Metier" field="metiers" mapped-by="famille"/> </entity> </doctrine-mapping> module/Application/src/Application/Entity/Db/Metier.php +20 −0 Changes for module/Application/src/Application/Entity/Db/Metier.php: 20 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ class Metier { private $id; /** @var string */ private $libelle; /** @var MetierFamille */ private $famille; /** * @return int Loading @@ -32,4 +34,22 @@ class Metier { { $this->libelle = $libelle; } /** * @return MetierFamille */ public function getFamille() { return $this->famille; } /** * @param MetierFamille $famille * @return Metier */ public function setFamille($famille) { $this->famille = $famille; return $this; } } No newline at end of file Loading
module/Application/config/merged/ressource-rh.config.php +53 −3 Changes for module/Application/config/merged/ressource-rh.config.php: 53 added lines, 3 removed lines. 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\MetierFamilleForm; use Application\Form\RessourceRh\MetierFamilleFormFactory; use Application\Form\RessourceRh\MetierFamilleHydrator; use Application\Form\RessourceRh\MetierForm; use Application\Form\RessourceRh\MetierFormFactory; use Application\Form\RessourceRh\MetierHydrator; Loading @@ -17,6 +20,7 @@ use Application\Form\RessourceRh\CorpsHydrator; use Application\Form\RessourceRh\CorrespondanceForm; use Application\Form\RessourceRh\CorrespondanceFormFactory; use Application\Form\RessourceRh\CorrespondanceHydrator; use Application\Form\RessourceRh\MetierHydratorFactory; use Application\Provider\Privilege\RessourceRhPrivileges; use Application\Service\RessourceRh\RessourceRhService; use Application\Service\RessourceRh\RessourceRhServiceFactory; Loading Loading @@ -44,6 +48,7 @@ return [ 'creer-correspondance', 'creer-corps', 'creer-metier', 'creer-famille', ], 'privileges' => [ RessourceRhPrivileges::AJOUTER, Loading @@ -56,6 +61,7 @@ return [ 'modifier-correspondance', 'modifier-corps', 'modifier-metier', 'modifier-famille', ], 'privileges' => [ RessourceRhPrivileges::MODIFIER, Loading @@ -68,6 +74,7 @@ return [ 'effacer-correspondance', 'effacer-metier', 'effacer-agent-status', 'effacer-famille', ], 'privileges' => [ RessourceRhPrivileges::EFFACER, Loading Loading @@ -250,6 +257,45 @@ return [ ], ], ], 'famille' => [ 'type' => Literal::class, 'options' => [ 'route' => '/famille', ], 'may_terminate' => false, 'child_routes' => [ 'creer' => [ 'type' => Literal::class, 'options' => [ 'route' => '/creer', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'creer-famille', ], ], ], 'modifier' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier/:id', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'modifier-famille', ], ], ], 'effacer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/effacer/:id', 'defaults' => [ 'controller' => RessourceRhController::class, 'action' => 'effacer-famille', ], ], ], ], ], ], ], ], Loading @@ -273,15 +319,19 @@ return [ CorpsForm::class => CorpsFormFactory::class, CorrespondanceForm::class => CorrespondanceFormFactory::class, MetierForm::class => MetierFormFactory::class, MetierFamilleForm::class => MetierFamilleFormFactory::class, ], ], 'hydrators' => [ 'invokable' => [ 'invokables' => [ AgentStatusHydrator::class => AgentStatusHydrator::class, CorpsHydrator::class => CorpsHydrator::class, CorrespondanceHydrator::class => CorrespondanceHydrator::class, MetierHydrator::class => MetierHydrator::class, ] MetierFamilleHydrator::class => MetierFamilleHydrator::class, ], 'factories' => [ MetierHydrator::class => MetierHydratorFactory::class, ], ] ]; No newline at end of file
module/Application/src/Application/Controller/RessourceRh/RessourceRhController.php +69 −0 Changes for module/Application/src/Application/Controller/RessourceRh/RessourceRhController.php: 69 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -6,6 +6,8 @@ use Application\Entity\Db\AgentStatus; use Application\Entity\Db\Corps; use Application\Entity\Db\Correspondance; use Application\Entity\Db\Metier; use Application\Entity\Db\MetierFamille; use Application\Form\RessourceRh\MetierFamilleForm; use Application\Form\RessourceRh\MetierForm; use Application\Form\RessourceRh\AgentStatusForm; use Application\Form\RessourceRh\CorpsForm; Loading @@ -24,11 +26,13 @@ class RessourceRhController extends AbstractActionController { $correspondances = $this->getRessourceRhService()->getCorrespondances('libelle'); $metiers = $this->getRessourceRhService()->getMetiers('libelle'); $corps = $this->getRessourceRhService()->getCorpsListe('libelle'); $familles = $this->getRessourceRhService()->getMetiersFamilles('libelle'); return new ViewModel([ 'status' => $status, 'correspondances' => $correspondances, 'metiers' => $metiers, 'familles' => $familles, 'corps' => $corps, ]); } Loading Loading @@ -292,4 +296,69 @@ class RessourceRhController extends AbstractActionController { $this->redirect()->toRoute('ressource-rh', [], [], true); } /** FAMILLE METIER ************************************************************************************************/ public function creerFamilleAction() { $famille = new MetierFamille(); /** @var CorpsForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierFamilleForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/famille/creer', [], [], true)); $form->bind($famille); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->createMetierFamille($famille); } } return new ViewModel([ 'title' => 'Ajouter une nouvelle famille de métiers', 'form' => $form, ]); } public function modifierFamilleAction() { $familleId = $this->params()->fromRoute('id'); $famille = $this->getRessourceRhService()->getMetierFamille($familleId); /** @var MetierForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(MetierFamilleForm::class); $form->setAttribute('action', $this->url()->fromRoute('ressource-rh/famille/modifier', [], [], true)); $form->bind($famille); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getRessourceRhService()->updateMetierFamille($famille); } } return new ViewModel([ 'title' => 'Modifier une famille de métiers', 'form' => $form, ]); } public function effacerFamilleAction() { $familleId = $this->params()->fromRoute('id'); $famille = $this->getRessourceRhService()->getMetierFamille($familleId); if ($famille !== null) { $this->getRessourceRhService()->deleteMetierFamille($famille); } $this->redirect()->toRoute('ressource-rh', [], [], true); } } No newline at end of file
module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Metier.dcm.xml +3 −1 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Metier.dcm.xml: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ </id> <field name="libelle" type="string" length="128" column="libelle" nullable="false" /> <many-to-one target-entity="Application\Entity\Db\MetierFamille" field="famille"> <join-column name="famille" referenced-column-name="id" /> </many-to-one> </entity> </doctrine-mapping>
module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.MetierFamille.dcm.xml 0 → 100644 +15 −0 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.MetierFamille.dcm.xml: 15 added lines, 0 removed lines. Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> <entity name="Application\Entity\Db\MetierFamille" table="metier_famille"> <id name="id" type="integer" column="id"> <generator strategy="IDENTITY"/> </id> <field name="libelle" type="string" length="128" column="libelle" nullable="false" /> <field name="couleur" type="string" length="64" column="couleur" nullable="true" /> <one-to-many target-entity="Application\Entity\Db\Metier" field="metiers" mapped-by="famille"/> </entity> </doctrine-mapping>
module/Application/src/Application/Entity/Db/Metier.php +20 −0 Changes for module/Application/src/Application/Entity/Db/Metier.php: 20 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ class Metier { private $id; /** @var string */ private $libelle; /** @var MetierFamille */ private $famille; /** * @return int Loading @@ -32,4 +34,22 @@ class Metier { { $this->libelle = $libelle; } /** * @return MetierFamille */ public function getFamille() { return $this->famille; } /** * @param MetierFamille $famille * @return Metier */ public function setFamille($famille) { $this->famille = $famille; return $this; } } No newline at end of file