Loading module/Application/config/merged/fiche-metier.config.php +15 −0 Changes for module/Application/config/merged/fiche-metier.config.php: 15 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; use Application\Form\FicheMetier\FicheMetierCreationHydratorFactory; use Application\Form\FicheMetier\SpecificitePosteForm; use Application\Form\FicheMetier\SpecificitePosteFormFactory; use Application\Form\FicheMetierType\ActiviteExistanteForm; use Application\Form\FicheMetierType\ActiviteExistanteFormFactory; use Application\Form\FicheMetierType\LibelleForm; Loading Loading @@ -58,6 +60,7 @@ return [ 'ajouter-mission-complementaire', 'editer-mission-complementaire', 'supprimer-mission-complementaire', 'editer-specificite-poste', ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -134,6 +137,17 @@ return [ ], 'may_terminate' => true, ], 'specificite' => [ 'type' => Segment::class, 'options' => [ 'route' => '/specificite/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'editer-specificite-poste', ], ], 'may_terminate' => true, ], 'historiser' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -359,6 +373,7 @@ return [ AgentForm::class => AgentFormFactory::class, MissionComplementaireForm::class => MissionComplementaireFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, ], ], 'hydrators' => [ Loading module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +35 −0 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php: 35 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -5,9 +5,11 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; use Application\Entity\Db\MissionComplementaire; use Application\Entity\Db\SpecificitePoste; use Application\Form\Agent\AgentForm; use Application\Form\Agent\MissionComplementaireForm; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\SpecificitePosteForm; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; Loading Loading @@ -38,6 +40,7 @@ class FicheMetierController extends AbstractActionController return new ViewModel([ 'fiche' => $fiche, 'specificite' => $this->getFicheMetierService()->getSpecificitePoste(9), ]); } Loading Loading @@ -217,4 +220,36 @@ class FicheMetierController extends AbstractActionController $this->getAgentService()->deleteMissionComplementaire($mission); $this->redirect()->toRoute('fiche-metier/afficher-agent', ['id' => $mission->getAgent()->getId()], [], true); } /** SPECIFICITE POSTE *********************************************************************************************/ public function editerSpecificitePosteAction() { $specificite = new SpecificitePoste(); $fiche = $this->getFicheMetierService()->getFicheMetier(1); /** @var SpecificitePosteForm $form */ $form = $form = $this->getServiceLocator()->get('FormElementManager')->get(SpecificitePosteForm::class); $form->bind($specificite); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $specificite->setFiche($fiche); $this->getFicheMetierService()->createSpecificitePoste($specificite); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Éditer spécificité du poste', 'form' => $form, ]); return $vm; } } No newline at end of file module/Application/src/Application/Entity/Db/FicheMetier.php +22 −0 Changes for module/Application/src/Application/Entity/Db/FicheMetier.php: 22 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -17,6 +17,9 @@ class FicheMetier /** @var Agent */ private $agent; /** @var SpecificitePoste */ private $specificite; public function getId() { return $this->id; Loading Loading @@ -76,5 +79,24 @@ class FicheMetier return $this; } /** * @return SpecificitePoste */ public function getSpecificite() { return $this->specificite; } /** * @param SpecificitePoste $specificite * @return FicheMetier */ public function setSpecificite($specificite) { $this->specificite = $specificite; return $this; } } No newline at end of file module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheMetier.dcm.xml +2 −0 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheMetier.dcm.xml: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -30,5 +30,7 @@ <join-column name="agent" referenced-column-name="id" /> </many-to-one> <!--<one-to-one field="specificite" target-entity="Application\Entity\Db\SpecificitePoste" mapped-by="id"/>--> </entity> </doctrine-mapping> module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml 0 → 100644 +21 −0 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml: 21 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\SpecificitePoste" table="specificite_poste"> <id name="id" type="integer" column="id"> <generator strategy="IDENTITY"/> </id> <!--<one-to-one field="fiche" target-entity="Application\Entity\Db\FicheMetier" mapped-by="id"/>--> <field name="specificite" type="string" length="2048" column="specificite" nullable="true"/> <field name="encadrement" type="string" length="2048" column="encadrement" nullable="true"/> <field name="relationsInternes" type="string" length="2048" column="relations_internes" nullable="true"/> <field name="relationsExternes" type="string" length="2048" column="relations_externes" nullable="true"/> <field name="contraintes" type="string" length="2048" column="contraintes" nullable="true"/> <field name="moyens" type="string" length="2048" column="moyens" nullable="true"/> </entity> </doctrine-mapping> Loading
module/Application/config/merged/fiche-metier.config.php +15 −0 Changes for module/Application/config/merged/fiche-metier.config.php: 15 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\FicheMetierCreationFormFactory; use Application\Form\FicheMetier\FicheMetierCreationHydrator; use Application\Form\FicheMetier\FicheMetierCreationHydratorFactory; use Application\Form\FicheMetier\SpecificitePosteForm; use Application\Form\FicheMetier\SpecificitePosteFormFactory; use Application\Form\FicheMetierType\ActiviteExistanteForm; use Application\Form\FicheMetierType\ActiviteExistanteFormFactory; use Application\Form\FicheMetierType\LibelleForm; Loading Loading @@ -58,6 +60,7 @@ return [ 'ajouter-mission-complementaire', 'editer-mission-complementaire', 'supprimer-mission-complementaire', 'editer-specificite-poste', ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -134,6 +137,17 @@ return [ ], 'may_terminate' => true, ], 'specificite' => [ 'type' => Segment::class, 'options' => [ 'route' => '/specificite/:id', 'defaults' => [ 'controller' => FicheMetierController::class, 'action' => 'editer-specificite-poste', ], ], 'may_terminate' => true, ], 'historiser' => [ 'type' => Segment::class, 'options' => [ Loading Loading @@ -359,6 +373,7 @@ return [ AgentForm::class => AgentFormFactory::class, MissionComplementaireForm::class => MissionComplementaireFormFactory::class, SpecificitePosteForm::class => SpecificitePosteFormFactory::class, ], ], 'hydrators' => [ Loading
module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php +35 −0 Changes for module/Application/src/Application/Controller/FicheMetier/FicheMetierController.php: 35 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -5,9 +5,11 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Agent; use Application\Entity\Db\FicheMetier; use Application\Entity\Db\MissionComplementaire; use Application\Entity\Db\SpecificitePoste; use Application\Form\Agent\AgentForm; use Application\Form\Agent\MissionComplementaireForm; use Application\Form\FicheMetier\FicheMetierCreationForm; use Application\Form\FicheMetier\SpecificitePosteForm; use Application\Service\Agent\AgentServiceAwareTrait; use Application\Service\FicheMetier\FicheMetierServiceAwareTrait; use UnicaenApp\Exception\RuntimeException; Loading Loading @@ -38,6 +40,7 @@ class FicheMetierController extends AbstractActionController return new ViewModel([ 'fiche' => $fiche, 'specificite' => $this->getFicheMetierService()->getSpecificitePoste(9), ]); } Loading Loading @@ -217,4 +220,36 @@ class FicheMetierController extends AbstractActionController $this->getAgentService()->deleteMissionComplementaire($mission); $this->redirect()->toRoute('fiche-metier/afficher-agent', ['id' => $mission->getAgent()->getId()], [], true); } /** SPECIFICITE POSTE *********************************************************************************************/ public function editerSpecificitePosteAction() { $specificite = new SpecificitePoste(); $fiche = $this->getFicheMetierService()->getFicheMetier(1); /** @var SpecificitePosteForm $form */ $form = $form = $this->getServiceLocator()->get('FormElementManager')->get(SpecificitePosteForm::class); $form->bind($specificite); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $specificite->setFiche($fiche); $this->getFicheMetierService()->createSpecificitePoste($specificite); } } $vm = new ViewModel(); $vm->setTemplate('application/default/default-form'); $vm->setVariables([ 'title' => 'Éditer spécificité du poste', 'form' => $form, ]); return $vm; } } No newline at end of file
module/Application/src/Application/Entity/Db/FicheMetier.php +22 −0 Changes for module/Application/src/Application/Entity/Db/FicheMetier.php: 22 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -17,6 +17,9 @@ class FicheMetier /** @var Agent */ private $agent; /** @var SpecificitePoste */ private $specificite; public function getId() { return $this->id; Loading Loading @@ -76,5 +79,24 @@ class FicheMetier return $this; } /** * @return SpecificitePoste */ public function getSpecificite() { return $this->specificite; } /** * @param SpecificitePoste $specificite * @return FicheMetier */ public function setSpecificite($specificite) { $this->specificite = $specificite; return $this; } } No newline at end of file
module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheMetier.dcm.xml +2 −0 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheMetier.dcm.xml: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -30,5 +30,7 @@ <join-column name="agent" referenced-column-name="id" /> </many-to-one> <!--<one-to-one field="specificite" target-entity="Application\Entity\Db\SpecificitePoste" mapped-by="id"/>--> </entity> </doctrine-mapping>
module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml 0 → 100644 +21 −0 Changes for module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.SpecificitePoste.dcm.xml: 21 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\SpecificitePoste" table="specificite_poste"> <id name="id" type="integer" column="id"> <generator strategy="IDENTITY"/> </id> <!--<one-to-one field="fiche" target-entity="Application\Entity\Db\FicheMetier" mapped-by="id"/>--> <field name="specificite" type="string" length="2048" column="specificite" nullable="true"/> <field name="encadrement" type="string" length="2048" column="encadrement" nullable="true"/> <field name="relationsInternes" type="string" length="2048" column="relations_internes" nullable="true"/> <field name="relationsExternes" type="string" length="2048" column="relations_externes" nullable="true"/> <field name="contraintes" type="string" length="2048" column="contraintes" nullable="true"/> <field name="moyens" type="string" length="2048" column="moyens" nullable="true"/> </entity> </doctrine-mapping>