Loading module/FicheMetier/config/merged/mission-principale.config.php +12 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ return [ 'modifier-libelle', 'gerer-domaines', 'gerer-niveau', 'ajouter-activite', 'modifier-activite', Loading Loading @@ -231,6 +232,17 @@ return [ ], ], ], 'gerer-niveau' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer-niveau/:mission-principale', 'defaults' => [ /** @see MissionPrincipaleController::gererNiveauAction() */ 'controller' => MissionPrincipaleController::class, 'action' => 'gerer-niveau', ], ], ], ], ], ], Loading module/FicheMetier/src/FicheMetier/Controller/MissionPrincipaleController.php +41 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,9 @@ namespace FicheMetier\Controller; use Application\Form\ModifierLibelle\ModifierLibelleFormAwareTrait; use Carriere\Entity\Db\NiveauEnveloppe; use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeFormAwareTrait; use Carriere\Service\NiveauEnveloppe\NiveauEnveloppeServiceAwareTrait; use FicheMetier\Entity\Db\Mission; use FicheMetier\Entity\Db\MissionActivite; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleServiceAwareTrait; Loading @@ -14,8 +17,10 @@ use Metier\Form\SelectionnerDomaines\SelectionnerDomainesFormAwareTrait; class MissionPrincipaleController extends AbstractActionController { use MissionPrincipaleServiceAwareTrait; use NiveauEnveloppeServiceAwareTrait; use ModifierLibelleFormAwareTrait; use NiveauEnveloppeFormAwareTrait; use SelectionnerDomainesFormAwareTrait; public function indexAction() : ViewModel Loading Loading @@ -166,6 +171,42 @@ class MissionPrincipaleController extends AbstractActionController return $vm; } public function gererNiveauAction() : ViewModel { $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); $niveaux = $mission->getNiveau(); if ($niveaux === null) { $niveaux = new NiveauEnveloppe(); } $form = $this->getNiveauEnveloppeForm(); $form->setAttribute('action', $this->url()->fromRoute('mission-principale/gerer-niveau', ['mission-principale' => $mission->getId()], [], true)); $form->bind($niveaux); $request = $this->getRequest(); if($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { if ($niveaux->getHistoCreation()) { $this->getNiveauEnveloppeService()->update($niveaux); } else { $this->getNiveauEnveloppeService()->create($niveaux); $mission->setNiveau($niveaux); $this->getMissionPrincipaleService()->update($mission); } } } $vm = new ViewModel([ 'title' => "Modifier le niveau associé à la mission", 'form' => $form, ]); $vm->setTemplate('metier/default/default-form'); return $vm; } public function ajouterActiviteAction() : ViewModel { $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); Loading module/FicheMetier/src/FicheMetier/Controller/MissionPrincipaleControllerFactory.php +8 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ namespace FicheMetier\Controller; use Application\Form\ModifierLibelle\ModifierLibelleForm; use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeForm; use Carriere\Service\NiveauEnveloppe\NiveauEnveloppeService; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleService; use Metier\Form\SelectionnerDomaines\SelectionnerDomainesForm; use Psr\Container\ContainerExceptionInterface; Loading @@ -21,19 +23,25 @@ class MissionPrincipaleControllerFactory { { /** * @var MissionPrincipaleService $missionPrincipaleService * @var NiveauEnveloppeService $niveauEnveloppeService */ $missionPrincipaleService = $container->get(MissionPrincipaleService::class); $niveauEnveloppeService = $container->get(NiveauEnveloppeService::class); /** * @var ModifierLibelleForm $modifierLibelleForm * @var NiveauEnveloppeForm $niveauEnveloppeForm * @var SelectionnerDomainesForm $selectionDomainesForm */ $modifierLibelleForm = $container->get('FormElementManager')->get(ModifierLibelleForm::class); $niveauEnveloppeForm = $container->get('FormElementManager')->get(NiveauEnveloppeForm::class); $selectionDomainesForm = $container->get('FormElementManager')->get(SelectionnerDomainesForm::class); $controller = new MissionPrincipaleController(); $controller->setMissionPrincipaleService($missionPrincipaleService); $controller->setNiveauEnveloppeService($niveauEnveloppeService); $controller->setModifierLibelleForm($modifierLibelleForm); $controller->setNiveauEnveloppeForm($niveauEnveloppeForm); $controller->setSelectionnerDomainesForm($selectionDomainesForm); return $controller; } Loading module/FicheMetier/view/fiche-metier/mission-principale/index.phtml +18 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ $canSupprimer = $this->isAllowed(MissionPrincipalePrivileges::getResourceId(Miss <thead> <tr> <th> Libellé </th> <th style="width: 15rem;"> Domaines & niveau</th> <th style="width: 10rem;"> Liens </th> <th class="action"> Action </th> </tr> Loading @@ -45,6 +46,23 @@ $canSupprimer = $this->isAllowed(MissionPrincipalePrivileges::getResourceId(Miss <?php foreach ($missions as $mission) : ?> <tr class="<?php if ($mission->estHistorise()) echo " historise ";?>"> <td> <?php echo $mission->getLibelle(); ?> </td> <td> <?php if (empty($mission->getDomaines())) : ?> <p><em>Aucun domaine</em></p> <?php else : ?> <ul> <?php foreach ($mission->getDomaines() as $domaine) : ?> <li> <?php echo $domaine->getLibelle(); ?> </li> <?php endforeach; ?> </ul> <?php endif; ?> <?php if ($mission->getNiveau() === null) : ?> <p><em>Niveau non précisé</em></p> <?php else : ?> Niveau : <?php echo $this->niveauEnveloppe($mission->getNiveau()); ?> <?php endif; ?> </td> <td> Fiche métier : <?php echo count($mission->getListeFicheMetier()); ?> <br/> Fiche de poste : <span class="todo"> ?</span> Loading @@ -63,7 +81,6 @@ $canSupprimer = $this->isAllowed(MissionPrincipalePrivileges::getResourceId(Miss <br/> <?php /** @see \FicheMetier\Controller\MissionPrincipaleController::modifierAction() */ ?> <a href="<?php echo $this->url('mission-principale/modifier', ['mission-principale' => $mission->getId()], [], true); ?>" class="ajax-modal" > <span class="icon icon-editer"></span> modifier Loading module/FicheMetier/view/fiche-metier/mission-principale/modifier.phtml +11 −1 Original line number Diff line number Diff line Loading @@ -84,7 +84,17 @@ $canModifier = ($modification AND $this->isAllowed(MissionPrincipalePrivileges:: <li> <?php echo $domaine->getLibelle(); ?> </li> <?php endforeach; ?> </dd> <dt> Niveau </dt> <dt> Niveau <?php if ($canModifier) : ?> <?php /** @see \FicheMetier\Controller\MissionPrincipaleController::gererNiveauAction() */ ?> <a href="<?php echo $this->url('mission-principale/gerer-niveau', ['mission-principale' => $mission->getId()], [], true); ?>" class="btn btn-primary btn-sm ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Gérer le niveau associé </a> <?php endif; ?> </dt> <dd> <?php echo $this->niveauEnveloppe($mission->getNiveau()); ?> </dd> </dl> Loading Loading
module/FicheMetier/config/merged/mission-principale.config.php +12 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ return [ 'modifier-libelle', 'gerer-domaines', 'gerer-niveau', 'ajouter-activite', 'modifier-activite', Loading Loading @@ -231,6 +232,17 @@ return [ ], ], ], 'gerer-niveau' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer-niveau/:mission-principale', 'defaults' => [ /** @see MissionPrincipaleController::gererNiveauAction() */ 'controller' => MissionPrincipaleController::class, 'action' => 'gerer-niveau', ], ], ], ], ], ], Loading
module/FicheMetier/src/FicheMetier/Controller/MissionPrincipaleController.php +41 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,9 @@ namespace FicheMetier\Controller; use Application\Form\ModifierLibelle\ModifierLibelleFormAwareTrait; use Carriere\Entity\Db\NiveauEnveloppe; use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeFormAwareTrait; use Carriere\Service\NiveauEnveloppe\NiveauEnveloppeServiceAwareTrait; use FicheMetier\Entity\Db\Mission; use FicheMetier\Entity\Db\MissionActivite; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleServiceAwareTrait; Loading @@ -14,8 +17,10 @@ use Metier\Form\SelectionnerDomaines\SelectionnerDomainesFormAwareTrait; class MissionPrincipaleController extends AbstractActionController { use MissionPrincipaleServiceAwareTrait; use NiveauEnveloppeServiceAwareTrait; use ModifierLibelleFormAwareTrait; use NiveauEnveloppeFormAwareTrait; use SelectionnerDomainesFormAwareTrait; public function indexAction() : ViewModel Loading Loading @@ -166,6 +171,42 @@ class MissionPrincipaleController extends AbstractActionController return $vm; } public function gererNiveauAction() : ViewModel { $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); $niveaux = $mission->getNiveau(); if ($niveaux === null) { $niveaux = new NiveauEnveloppe(); } $form = $this->getNiveauEnveloppeForm(); $form->setAttribute('action', $this->url()->fromRoute('mission-principale/gerer-niveau', ['mission-principale' => $mission->getId()], [], true)); $form->bind($niveaux); $request = $this->getRequest(); if($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { if ($niveaux->getHistoCreation()) { $this->getNiveauEnveloppeService()->update($niveaux); } else { $this->getNiveauEnveloppeService()->create($niveaux); $mission->setNiveau($niveaux); $this->getMissionPrincipaleService()->update($mission); } } } $vm = new ViewModel([ 'title' => "Modifier le niveau associé à la mission", 'form' => $form, ]); $vm->setTemplate('metier/default/default-form'); return $vm; } public function ajouterActiviteAction() : ViewModel { $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); Loading
module/FicheMetier/src/FicheMetier/Controller/MissionPrincipaleControllerFactory.php +8 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ namespace FicheMetier\Controller; use Application\Form\ModifierLibelle\ModifierLibelleForm; use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeForm; use Carriere\Service\NiveauEnveloppe\NiveauEnveloppeService; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleService; use Metier\Form\SelectionnerDomaines\SelectionnerDomainesForm; use Psr\Container\ContainerExceptionInterface; Loading @@ -21,19 +23,25 @@ class MissionPrincipaleControllerFactory { { /** * @var MissionPrincipaleService $missionPrincipaleService * @var NiveauEnveloppeService $niveauEnveloppeService */ $missionPrincipaleService = $container->get(MissionPrincipaleService::class); $niveauEnveloppeService = $container->get(NiveauEnveloppeService::class); /** * @var ModifierLibelleForm $modifierLibelleForm * @var NiveauEnveloppeForm $niveauEnveloppeForm * @var SelectionnerDomainesForm $selectionDomainesForm */ $modifierLibelleForm = $container->get('FormElementManager')->get(ModifierLibelleForm::class); $niveauEnveloppeForm = $container->get('FormElementManager')->get(NiveauEnveloppeForm::class); $selectionDomainesForm = $container->get('FormElementManager')->get(SelectionnerDomainesForm::class); $controller = new MissionPrincipaleController(); $controller->setMissionPrincipaleService($missionPrincipaleService); $controller->setNiveauEnveloppeService($niveauEnveloppeService); $controller->setModifierLibelleForm($modifierLibelleForm); $controller->setNiveauEnveloppeForm($niveauEnveloppeForm); $controller->setSelectionnerDomainesForm($selectionDomainesForm); return $controller; } Loading
module/FicheMetier/view/fiche-metier/mission-principale/index.phtml +18 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ $canSupprimer = $this->isAllowed(MissionPrincipalePrivileges::getResourceId(Miss <thead> <tr> <th> Libellé </th> <th style="width: 15rem;"> Domaines & niveau</th> <th style="width: 10rem;"> Liens </th> <th class="action"> Action </th> </tr> Loading @@ -45,6 +46,23 @@ $canSupprimer = $this->isAllowed(MissionPrincipalePrivileges::getResourceId(Miss <?php foreach ($missions as $mission) : ?> <tr class="<?php if ($mission->estHistorise()) echo " historise ";?>"> <td> <?php echo $mission->getLibelle(); ?> </td> <td> <?php if (empty($mission->getDomaines())) : ?> <p><em>Aucun domaine</em></p> <?php else : ?> <ul> <?php foreach ($mission->getDomaines() as $domaine) : ?> <li> <?php echo $domaine->getLibelle(); ?> </li> <?php endforeach; ?> </ul> <?php endif; ?> <?php if ($mission->getNiveau() === null) : ?> <p><em>Niveau non précisé</em></p> <?php else : ?> Niveau : <?php echo $this->niveauEnveloppe($mission->getNiveau()); ?> <?php endif; ?> </td> <td> Fiche métier : <?php echo count($mission->getListeFicheMetier()); ?> <br/> Fiche de poste : <span class="todo"> ?</span> Loading @@ -63,7 +81,6 @@ $canSupprimer = $this->isAllowed(MissionPrincipalePrivileges::getResourceId(Miss <br/> <?php /** @see \FicheMetier\Controller\MissionPrincipaleController::modifierAction() */ ?> <a href="<?php echo $this->url('mission-principale/modifier', ['mission-principale' => $mission->getId()], [], true); ?>" class="ajax-modal" > <span class="icon icon-editer"></span> modifier Loading
module/FicheMetier/view/fiche-metier/mission-principale/modifier.phtml +11 −1 Original line number Diff line number Diff line Loading @@ -84,7 +84,17 @@ $canModifier = ($modification AND $this->isAllowed(MissionPrincipalePrivileges:: <li> <?php echo $domaine->getLibelle(); ?> </li> <?php endforeach; ?> </dd> <dt> Niveau </dt> <dt> Niveau <?php if ($canModifier) : ?> <?php /** @see \FicheMetier\Controller\MissionPrincipaleController::gererNiveauAction() */ ?> <a href="<?php echo $this->url('mission-principale/gerer-niveau', ['mission-principale' => $mission->getId()], [], true); ?>" class="btn btn-primary btn-sm ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Gérer le niveau associé </a> <?php endif; ?> </dt> <dd> <?php echo $this->niveauEnveloppe($mission->getNiveau()); ?> </dd> </dl> Loading