Loading module/Application/config/merged/fiche-metier.config.php +19 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,10 @@ use Application\Form\FicheMetier\SpecificitePosteForm; use Application\Form\FicheMetier\SpecificitePosteFormFactory; use Application\Form\FicheMetierType\ActiviteExistanteForm; use Application\Form\FicheMetierType\ActiviteExistanteFormFactory; use Application\Form\FicheMetierType\ApplicationsForm; use Application\Form\FicheMetierType\ApplicationsFormFactory; use Application\Form\FicheMetierType\ApplicationsHydrator; use Application\Form\FicheMetierType\ApplicationsHydratorFactory; use Application\Form\FicheMetierType\FormationBaseForm; use Application\Form\FicheMetierType\FormationBaseFormFactory; use Application\Form\FicheMetierType\FormationBaseHydrator; Loading Loading @@ -114,6 +118,7 @@ return [ 'modifier-connaissances', 'modifier-operationnelle', 'modifier-comportementale', 'modifier-application', ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -354,6 +359,17 @@ return [ ], 'may_terminate' => true, ], 'modifier-application' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier-application/:id', 'defaults' => [ 'controller' => FicheMetierTypeController::class, 'action' => 'modifier-application', ], ], 'may_terminate' => true, ], ], ], ], Loading Loading @@ -388,6 +404,7 @@ return [ FormationBaseForm::class => FormationBaseFormFactory::class, FormationOperationnelleForm::class => FormationOperationnelleFormFactory::class, FormationComportementaleForm::class => FormationComportementaleFormFactory::class, ApplicationsForm::class => ApplicationsFormFactory::class, ], ], 'hydrators' => [ Loading @@ -395,6 +412,7 @@ return [ FormationBaseHydrator::class => FormationBaseHydrator::class, FormationOperationnelleHydrator::class => FormationOperationnelleHydrator::class, FormationComportementaleHydrator::class => FormationComportementaleHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, Loading @@ -402,6 +420,7 @@ return [ AssocierMetierTypeHydrator::class => AssocierMetierTypeHydratorFactory::class, AssocierAgentHydrator::class => AssocierAgentHydratorFactory::class, AssocierPosteHydrator::class => AssocierPosteHydratorFactory::class, ApplicationsHydrator::class => ApplicationsHydratorFactory::class, ] ], 'view_helpers' => [ Loading module/Application/src/Application/Controller/FicheMetier/FicheMetierTypeController.php +29 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Activite; use Application\Form\Activite\ActiviteForm; use Application\Form\FicheMetierType\ActiviteExistanteForm; use Application\Form\FicheMetierType\ApplicationsForm; use Application\Form\FicheMetierType\FormationBaseForm; use Application\Form\FicheMetierType\FormationComportementaleForm; use Application\Form\FicheMetierType\FormationOperationnelleForm; Loading Loading @@ -276,4 +277,32 @@ class FicheMetierTypeController extends AbstractActionController{ 'form' => $form, ]); } public function modifierApplicationAction() { $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetierType($ficheId); /** @var ApplicationsForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(ApplicationsForm::class); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier-type/modifier-application', ['id' => $fiche->getId()], [], true)); $form->bind($fiche); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getFicheMetierService()->updateFicheMetierType($fiche); // $this->redirect()->toRoute('fiche-metier-type/afficher', ['id' => $fiche->getId()]); } } return new ViewModel([ 'type' => 'comportementale', 'title' => 'Modification des compétences comportementales', 'form' => $form, ]); } } No newline at end of file module/Application/src/Application/Entity/Db/Application.php +2 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace Application\Entity\Db; use Doctrine\Common\Collections\ArrayCollection; class Application { /** @var integer */ Loading module/Application/src/Application/Entity/Db/FicheMetierType.php +54 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,17 @@ class FicheMetierType { /** @var string */ private $competencesComportementalesFormation; /** @var ArrayCollection */ private $applications; /** @var string */ private $applicationsFormation; public function __construct() { $this->applications = new ArrayCollection(); } /** * @return int */ Loading Loading @@ -178,6 +189,49 @@ class FicheMetierType { return $this; } /** * @return ArrayCollection */ public function getApplications() { return $this->applications; } /** * @param Application $application * @return FicheMetierType */ public function addApplication($application) { $this->applications->add($application); return $this; } /** * @param Application $application * @return FicheMetierType */ public function removeApplication($application) { $this->applications->removeElement($application); return $this; } /** * @return string */ public function getApplicationsFormation() { return $this->applicationsFormation; } /** * @param string $formation * @return FicheMetierType */ public function setApplicationsFormation($formation) { $this->applicationsFormation = $formation; return $this; } } No newline at end of file module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheMetierType.dcm.xml +12 −2 Original line number Diff line number Diff line Loading @@ -21,8 +21,18 @@ <field name="competencesComportementales" type="string" length="1024" column="competences_comportementales" nullable="true"/> <field name="competencesComportementalesFormation" type="string" length="1024" column="competences_comportementales_formation" nullable="true"/> <field name="applicationsFormation" type="string" length="1024" column="applications_formation" nullable="true"/> <many-to-many field="applications" target-entity="Application\Entity\Db\Application"> <join-table name="fiche_metier_type_application"> <join-columns> <join-column name="fiche" referenced-column-name="id" /> </join-columns> <inverse-join-columns> <join-column name="application" referenced-column-name="id" /> </inverse-join-columns> </join-table> </many-to-many> </entity> </doctrine-mapping> Loading
module/Application/config/merged/fiche-metier.config.php +19 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,10 @@ use Application\Form\FicheMetier\SpecificitePosteForm; use Application\Form\FicheMetier\SpecificitePosteFormFactory; use Application\Form\FicheMetierType\ActiviteExistanteForm; use Application\Form\FicheMetierType\ActiviteExistanteFormFactory; use Application\Form\FicheMetierType\ApplicationsForm; use Application\Form\FicheMetierType\ApplicationsFormFactory; use Application\Form\FicheMetierType\ApplicationsHydrator; use Application\Form\FicheMetierType\ApplicationsHydratorFactory; use Application\Form\FicheMetierType\FormationBaseForm; use Application\Form\FicheMetierType\FormationBaseFormFactory; use Application\Form\FicheMetierType\FormationBaseHydrator; Loading Loading @@ -114,6 +118,7 @@ return [ 'modifier-connaissances', 'modifier-operationnelle', 'modifier-comportementale', 'modifier-application', ], 'privileges' => [ FicheMetierPrivileges::AFFICHER, Loading Loading @@ -354,6 +359,17 @@ return [ ], 'may_terminate' => true, ], 'modifier-application' => [ 'type' => Segment::class, 'options' => [ 'route' => '/modifier-application/:id', 'defaults' => [ 'controller' => FicheMetierTypeController::class, 'action' => 'modifier-application', ], ], 'may_terminate' => true, ], ], ], ], Loading Loading @@ -388,6 +404,7 @@ return [ FormationBaseForm::class => FormationBaseFormFactory::class, FormationOperationnelleForm::class => FormationOperationnelleFormFactory::class, FormationComportementaleForm::class => FormationComportementaleFormFactory::class, ApplicationsForm::class => ApplicationsFormFactory::class, ], ], 'hydrators' => [ Loading @@ -395,6 +412,7 @@ return [ FormationBaseHydrator::class => FormationBaseHydrator::class, FormationOperationnelleHydrator::class => FormationOperationnelleHydrator::class, FormationComportementaleHydrator::class => FormationComportementaleHydrator::class, ], 'factories' => [ FicheMetierCreationHydrator::class => FicheMetierCreationHydratorFactory::class, Loading @@ -402,6 +420,7 @@ return [ AssocierMetierTypeHydrator::class => AssocierMetierTypeHydratorFactory::class, AssocierAgentHydrator::class => AssocierAgentHydratorFactory::class, AssocierPosteHydrator::class => AssocierPosteHydratorFactory::class, ApplicationsHydrator::class => ApplicationsHydratorFactory::class, ] ], 'view_helpers' => [ Loading
module/Application/src/Application/Controller/FicheMetier/FicheMetierTypeController.php +29 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Application\Controller\FicheMetier; use Application\Entity\Db\Activite; use Application\Form\Activite\ActiviteForm; use Application\Form\FicheMetierType\ActiviteExistanteForm; use Application\Form\FicheMetierType\ApplicationsForm; use Application\Form\FicheMetierType\FormationBaseForm; use Application\Form\FicheMetierType\FormationComportementaleForm; use Application\Form\FicheMetierType\FormationOperationnelleForm; Loading Loading @@ -276,4 +277,32 @@ class FicheMetierTypeController extends AbstractActionController{ 'form' => $form, ]); } public function modifierApplicationAction() { $ficheId = $this->params()->fromRoute('id'); $fiche = $this->getFicheMetierService()->getFicheMetierType($ficheId); /** @var ApplicationsForm $form */ $form = $this->getServiceLocator()->get('FormElementManager')->get(ApplicationsForm::class); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier-type/modifier-application', ['id' => $fiche->getId()], [], true)); $form->bind($fiche); /** @var Request $request */ $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getFicheMetierService()->updateFicheMetierType($fiche); // $this->redirect()->toRoute('fiche-metier-type/afficher', ['id' => $fiche->getId()]); } } return new ViewModel([ 'type' => 'comportementale', 'title' => 'Modification des compétences comportementales', 'form' => $form, ]); } } No newline at end of file
module/Application/src/Application/Entity/Db/Application.php +2 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace Application\Entity\Db; use Doctrine\Common\Collections\ArrayCollection; class Application { /** @var integer */ Loading
module/Application/src/Application/Entity/Db/FicheMetierType.php +54 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,17 @@ class FicheMetierType { /** @var string */ private $competencesComportementalesFormation; /** @var ArrayCollection */ private $applications; /** @var string */ private $applicationsFormation; public function __construct() { $this->applications = new ArrayCollection(); } /** * @return int */ Loading Loading @@ -178,6 +189,49 @@ class FicheMetierType { return $this; } /** * @return ArrayCollection */ public function getApplications() { return $this->applications; } /** * @param Application $application * @return FicheMetierType */ public function addApplication($application) { $this->applications->add($application); return $this; } /** * @param Application $application * @return FicheMetierType */ public function removeApplication($application) { $this->applications->removeElement($application); return $this; } /** * @return string */ public function getApplicationsFormation() { return $this->applicationsFormation; } /** * @param string $formation * @return FicheMetierType */ public function setApplicationsFormation($formation) { $this->applicationsFormation = $formation; return $this; } } No newline at end of file
module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.FicheMetierType.dcm.xml +12 −2 Original line number Diff line number Diff line Loading @@ -21,8 +21,18 @@ <field name="competencesComportementales" type="string" length="1024" column="competences_comportementales" nullable="true"/> <field name="competencesComportementalesFormation" type="string" length="1024" column="competences_comportementales_formation" nullable="true"/> <field name="applicationsFormation" type="string" length="1024" column="applications_formation" nullable="true"/> <many-to-many field="applications" target-entity="Application\Entity\Db\Application"> <join-table name="fiche_metier_type_application"> <join-columns> <join-column name="fiche" referenced-column-name="id" /> </join-columns> <inverse-join-columns> <join-column name="application" referenced-column-name="id" /> </inverse-join-columns> </join-table> </many-to-many> </entity> </doctrine-mapping>