Loading module/Application/src/Application/View/Helper/partial/activite.phtml +6 −34 Original line number Diff line number Diff line Loading @@ -39,12 +39,8 @@ $nbCompetence = count($competencesListe); $applicationsListe = $mission->getApplicationListe(); usort($applicationsListe, function (ApplicationElement $a, ApplicationElement $b) { return $a->getApplication()->getLibelle() > $b->getApplication()->getLibelle();}); $nbApplication = count($applicationsListe); //$formationsListe = $mission->getFormationListe(); //usort($formationsListe, function (FormationElement $a, FormationElement $b) { return $a->getFormation()->getLibelle() > $b->getFormation()->getLibelle();}); //$nbFormation = count($formationsListe); $nbFormation = 0; $nbObject = $nbCompetence + $nbFormation + $nbApplication; $nbObject = $nbCompetence + $nbApplication; ?> <div> Loading Loading @@ -76,32 +72,7 @@ $nbObject = $nbCompetence + $nbFormation + $nbApplication; <?php endif; ?> <div class="row"> <?php if ($canModifier AND $mode === 'modifier-activite') : ?> <a <?php /** @see ActiviteController::modifierLibelleAction() */?> href="<?php echo $this->url("activite/modifier-libelle", ["activite" => $mission->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Modifier le libellé </a> <a <?php /** @see ActiviteController::ajouterDescriptionAction() */?> href="<?php echo $this->url('activite/ajouter-description', ['activite' => $mission->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Ajouter une description </a> <a <?php /** @see ActiviteController::ajouterDescriptionsAction() */?> href="<?php echo $this->url('activite/ajouter-descriptions', ['activite' => $mission->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Ajouter plusieurs descriptions </a> <?php endif; ?> <?php if ($mode == 'edition-fiche-metier') : ?> <div class="pull-right"> <?php /** @see \FicheMetier\Controller\MissionPrincipaleController::modifierAction() */ ?> Loading @@ -113,21 +84,21 @@ $nbObject = $nbCompetence + $nbFormation + $nbApplication; </a> <?php /** @see FicheMetierController::supprimerMissionAction() */ ?> <a href="<?php echo $this->url('fiche-metier/supprimer-mission', ['id' => $type->getId()], [], true); ?>" <a href="<?php echo $this->url('fiche-metier/supprimer-mission', ['fiche-metier' => $fichemetier->getId(), 'mission-principale' => $mission->getId()], [], true); ?>" class="btn btn-primary"> <span class="icon icon-retirer"></span> Supprimer </a> <?php /** @see FicheMetierController::deplacerMissionAction() */ ?> <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['id' => $type->getId(), 'direction' => 'up'], [], true); ?>" <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['fiche-metier' => $fichemetier->getId(), 'mission-principale' => $mission->getId(), 'direction' => 'up'], [], true); ?>" class="btn btn-primary"> <span class="icon icon-monter"></span> Remonter </a> <?php /** @see FicheMetierController::deplacerMissionAction() */ ?> <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['id' => $type->getId(), 'direction' => 'down'], [], true); ?>" <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['fiche-metier' => $fichemetier->getId(), 'mission-principale' => $mission->getId(), 'direction' => 'down'], [], true); ?>" class="btn btn-primary"> <span class="icon icon-descendre"></span> Descendre Loading @@ -137,6 +108,7 @@ $nbObject = $nbCompetence + $nbFormation + $nbApplication; </div> <!-- description --------------------------------------------------------------------------------------------------> <?php $activites = $mission->getActivites(); usort($activites, function (MissionActivite $a, MissionActivite $b) { return $a->getOrdre() > $b->getOrdre();}); Loading module/FicheMetier/config/merged/fiche-metier.config.php +34 −2 Original line number Diff line number Diff line Loading @@ -106,6 +106,16 @@ return [ FicheMetierPrivileges::FICHEMETIER_MODIFIER, ], ], [ 'controller' => FicheMetierController::class, 'action' => [ 'gerer-applications', 'gerer-competences', ], 'privileges' => [ FicheMetierPrivileges::FICHEMETIER_MODIFIER, ], ], ], ], ], Loading Loading @@ -301,7 +311,7 @@ return [ 'deplacer-mission' => [ 'type' => Segment::class, 'options' => [ 'route' => '/deplacer-mission/:id/:direction', 'route' => '/deplacer-mission/:fiche-metier/:mission-principale/:direction', 'defaults' => [ /** @see FicheMetierController::deplacerMissionAction() */ 'controller' => FicheMetierController::class, Loading @@ -312,7 +322,7 @@ return [ 'supprimer-mission' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer-mission/:id', 'route' => '/supprimer-mission/:fiche-metier/:mission-principale', 'defaults' => [ /** @see FicheMetierController::supprimerMissionAction() */ 'controller' => FicheMetierController::class, Loading @@ -320,6 +330,28 @@ return [ ], ], ], 'gerer-applications' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer-application/:fiche-metier', 'defaults' => [ /** @see FicheMetierController::gererApplicationsAction() */ 'controller' => FicheMetierController::class, 'action' => 'gerer-applications', ], ], ], 'gerer-competences' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer-competences/:fiche-metier', 'defaults' => [ /** @see FicheMetierController::gererCompetencesAction() */ 'controller' => FicheMetierController::class, 'action' => 'gerer-competences', ], ], ], ], ], ], Loading module/FicheMetier/src/FicheMetier/Controller/FicheMetierController.php +113 −72 Original line number Diff line number Diff line Loading @@ -4,7 +4,10 @@ namespace FicheMetier\Controller; use Application\Form\ModifierLibelle\ModifierLibelleFormAwareTrait; use Application\Provider\Etat\FicheMetierEtats; use Element\Form\SelectionApplication\SelectionApplicationFormAwareTrait; use Element\Form\SelectionCompetence\SelectionCompetenceFormAwareTrait; use FicheMetier\Entity\Db\FicheMetier; use FicheMetier\Entity\Db\Mission; use FicheMetier\Form\FicheMetierImportation\FicheMetierImportationFormAwareTrait; use FicheMetier\Form\Raison\RaisonFormAwareTrait; use FicheMetier\Service\FicheMetier\FicheMetierServiceAwareTrait; Loading @@ -22,7 +25,6 @@ use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; /** @method FlashMessenger flashMessenger() */ class FicheMetierController extends AbstractActionController { // use ActiviteServiceAwareTrait; use DomaineServiceAwareTrait; use EtatServiceAwareTrait; use FicheMetierServiceAwareTrait; Loading @@ -32,6 +34,8 @@ class FicheMetierController extends AbstractActionController { use FicheMetierImportationFormAwareTrait; use ModifierLibelleFormAwareTrait; use RaisonFormAwareTrait; use SelectionApplicationFormAwareTrait; use SelectionCompetenceFormAwareTrait; use SelectionEtatFormAwareTrait; use SelectionnerMetierFormAwareTrait; Loading Loading @@ -61,9 +65,9 @@ class FicheMetierController extends AbstractActionController { public function afficherAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $missions = $fichemetier->getMissions() ; // todo $this->getActiviteService()->getActivitesByFicheMetierType($fichemetier); $applications = []; //$this->getFicheMetierService()->getApplicationsDictionnaires($fichemetier, true); $competences = []; //$this->getFicheMetierService()->getCompetencesDictionnaires($fichemetier, true); $missions = $fichemetier->getMissions() ; $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fichemetier, true); $competences = $this->getFicheMetierService()->getCompetencesDictionnaires($fichemetier, true); return new ViewModel([ 'fiche' => $fichemetier, Loading Loading @@ -109,7 +113,7 @@ class FicheMetierController extends AbstractActionController { public function modifierAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $missions = []; //todo $this->getActiviteService()->getActivitesByFicheMetierType($fichemetier); $missions = $fichemetier->getMissions(); $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fichemetier, true); $competences = $this->getFicheMetierService()->getCompetencesDictionnaires($fichemetier, true); Loading Loading @@ -341,74 +345,111 @@ class FicheMetierController extends AbstractActionController { /** GESTION DES MISSIONS ******************************************************************************************/ // public function ajouterMissionAction(): ViewModel // { // $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); // // $mission = new Activite(); // $form = $this->getModifierLibelleForm(); // $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/ajouter-mission', ['fiche-metier' => $fichemetier->getId()], [], true)); // $form->bind($mission); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // if (isset($data['libelle']) AND trim($data['libelle'])) { // $this->getActiviteService()->create($mission); // $this->getActiviteService()->updateLibelle($mission, $data); // $this->getActiviteService()->createFicheMetierActivite($fichemetier, $mission); // } // } // // $vm = new ViewModel(); // $vm->setTemplate('default/default-form'); // $vm->setVariables([ // 'title' => 'Ajouter une mission', // 'form' => $form, // ]); // return $vm; // } // // public function deplacerMissionAction(): Response // { // $direction = $this->params()->fromRoute('direction'); // $coupleId = $this->params()->fromRoute('id'); // $couple = $this->getActiviteService()->getFicheMetierActivite($coupleId); // // if ($direction === 'up') $this->getActiviteService()->moveUp($couple); // if ($direction === 'down') $this->getActiviteService()->moveDown($couple); // // $this->getActiviteService()->updateFicheMetierActivite($couple); // // return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $couple->getFiche()->getId()], [], true); // } // // public function supprimerMissionAction(): Response // { // $coupleId = $this->params()->fromRoute('id'); // $couple = $this->getActiviteService()->getFicheMetierActivite($coupleId); // // $this->getActiviteService()->removeFicheMetierActivite($couple); // // return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $couple->getFiche()->getId()], [], true); // } public function ajouterMissionAction(): ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $mission = new Mission(); $form = $this->getModifierLibelleForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/ajouter-mission', ['fiche-metier' => $fichemetier->getId()], [], true)); $form->bind($mission); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getMissionPrincipaleService()->create($mission); $this->getFicheMetierService()->addMission($fichemetier, $mission); $this->getFicheMetierService()->compressMission($fichemetier); exit(); } } $vm = new ViewModel(); $vm->setTemplate('default/default-form'); $vm->setVariables([ 'title' => 'Ajouter une mission', 'form' => $form, ]); return $vm; } public function supprimerMissionAction(): Response { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); $this->getFicheMetierService()->removeMission($fichemetier, $mission); $this->getFicheMetierService()->compressMission($fichemetier); return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $fichemetier->getId()], [], true); } public function deplacerMissionAction(): Response { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); $direction = $this->params()->fromRoute('direction'); $this->getFicheMetierService()->compressMission($fichemetier); $this->getFicheMetierService()->moveMission($fichemetier, $mission, $direction); return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $fichemetier->getId()], [], true); } /** GESTION DES APPLICATIONS ET DES COMPETENTES *******************************************************************/ public function gererApplicationsAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $form = $this->getSelectionApplicationForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/gerer-applications', ['fiche-metier' => $fichemetier->getId()], [], true)); $form->bind($fichemetier); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getFicheMetierService()->update($fichemetier); exit(); } } $vm = new ViewModel([ 'title' => "Gestion des applications associées à la fiche métier", 'form' => $form, ]); $vm->setTemplate('default/default-form'); return $vm; } public function gererCompetencesAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $form = $this->getSelectionCompetenceForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/gerer-competences', ['fiche-metier' => $fichemetier->getId()], [], true)); $form->bind($fichemetier); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getFicheMetierService()->update($fichemetier); exit(); } } $vm = new ViewModel([ 'title' => "Gestion des compétences associées à la fiche métier", 'form' => $form, ]); $vm->setTemplate('default/default-form'); return $vm; } // public function ajouterActiviteExistanteAction(): ViewModel // { // $fiche = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id', true); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // $activite = $this->getActiviteService()->getActivite($data['activite']["id"]); // $this->getActiviteService()->createFicheMetierActivite($fiche, $activite); // } // // return new ViewModel([ // 'title' => 'Ajouter une activité existante', // 'url' => $this->url()->fromRoute('fiche-metier-type/ajouter-activite-existante', ['id' => $fiche->getId()], [], true), // ]); // } /** LEFT OVER *****************************************************************************************************/ Loading module/FicheMetier/src/FicheMetier/Controller/FicheMetierControllerFactory.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 Element\Form\SelectionApplication\SelectionApplicationForm; use Element\Form\SelectionCompetence\SelectionCompetenceForm; use FicheMetier\Form\FicheMetierImportation\FicheMetierImportationForm; use FicheMetier\Form\Raison\RaisonForm; use FicheMetier\Service\FicheMetier\FicheMetierService; Loading Loading @@ -43,12 +45,16 @@ class FicheMetierControllerFactory { * @var FicheMetierImportationForm $importationForm * @var ModifierLibelleForm $modifierLibelleForm * @var RaisonForm $raisonForm * @var SelectionApplicationForm $selectionnerApplicationForm * @var SelectionCompetenceForm $selectionnerCompetenceForm * @var SelectionEtatForm $selectionnerEtatForm * @var SelectionnerMetierForm $selectionnerMetierForm */ $importationForm = $container->get('FormElementManager')->get(FicheMetierImportationForm::class); $modifierLibelleForm = $container->get('FormElementManager')->get(ModifierLibelleForm::class); $selectionnerEtatForm = $container->get('FormElementManager')->get(SelectionEtatForm::class); $selectionnerApplicationForm = $container->get('FormElementManager')->get(SelectionApplicationForm::class); $selectionnerCompetenceForm = $container->get('FormElementManager')->get(SelectionCompetenceForm::class); $selectionnerMetierForm = $container->get('FormElementManager')->get(SelectionnerMetierForm::class); $raisonForm = $container->get('FormElementManager')->get(RaisonForm::class); Loading @@ -61,6 +67,8 @@ class FicheMetierControllerFactory { $controller->setFicheMetierImportationForm($importationForm); $controller->setModifierLibelleForm($modifierLibelleForm); $controller->setRaisonForm($raisonForm); $controller->setSelectionApplicationForm($selectionnerApplicationForm); $controller->setSelectionCompetenceForm($selectionnerCompetenceForm); $controller->setSelectionEtatForm($selectionnerEtatForm); $controller->setSelectionnerMetierForm($selectionnerMetierForm); return $controller; Loading module/FicheMetier/src/FicheMetier/Entity/Db/FicheMetier.php +4 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface, HasMeti return $missions; } /** FONCTION POUR MACRO *******************************************************************************************/ /** Loading @@ -100,6 +99,10 @@ class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface, HasMeti return $metier->getLibelle(); } /** * Utiliser dans la macro FICHE_METIER#MISSIONS_PRINCIPALES * @noinspection PhpUnused */ public function getMissionsAsList() : string { $texte = ""; Loading Loading
module/Application/src/Application/View/Helper/partial/activite.phtml +6 −34 Original line number Diff line number Diff line Loading @@ -39,12 +39,8 @@ $nbCompetence = count($competencesListe); $applicationsListe = $mission->getApplicationListe(); usort($applicationsListe, function (ApplicationElement $a, ApplicationElement $b) { return $a->getApplication()->getLibelle() > $b->getApplication()->getLibelle();}); $nbApplication = count($applicationsListe); //$formationsListe = $mission->getFormationListe(); //usort($formationsListe, function (FormationElement $a, FormationElement $b) { return $a->getFormation()->getLibelle() > $b->getFormation()->getLibelle();}); //$nbFormation = count($formationsListe); $nbFormation = 0; $nbObject = $nbCompetence + $nbFormation + $nbApplication; $nbObject = $nbCompetence + $nbApplication; ?> <div> Loading Loading @@ -76,32 +72,7 @@ $nbObject = $nbCompetence + $nbFormation + $nbApplication; <?php endif; ?> <div class="row"> <?php if ($canModifier AND $mode === 'modifier-activite') : ?> <a <?php /** @see ActiviteController::modifierLibelleAction() */?> href="<?php echo $this->url("activite/modifier-libelle", ["activite" => $mission->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Modifier le libellé </a> <a <?php /** @see ActiviteController::ajouterDescriptionAction() */?> href="<?php echo $this->url('activite/ajouter-description', ['activite' => $mission->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Ajouter une description </a> <a <?php /** @see ActiviteController::ajouterDescriptionsAction() */?> href="<?php echo $this->url('activite/ajouter-descriptions', ['activite' => $mission->getId()], [], true); ?>" class="btn btn-primary ajax-modal" data-event="modification" > <span class="icon icon-editer"></span> Ajouter plusieurs descriptions </a> <?php endif; ?> <?php if ($mode == 'edition-fiche-metier') : ?> <div class="pull-right"> <?php /** @see \FicheMetier\Controller\MissionPrincipaleController::modifierAction() */ ?> Loading @@ -113,21 +84,21 @@ $nbObject = $nbCompetence + $nbFormation + $nbApplication; </a> <?php /** @see FicheMetierController::supprimerMissionAction() */ ?> <a href="<?php echo $this->url('fiche-metier/supprimer-mission', ['id' => $type->getId()], [], true); ?>" <a href="<?php echo $this->url('fiche-metier/supprimer-mission', ['fiche-metier' => $fichemetier->getId(), 'mission-principale' => $mission->getId()], [], true); ?>" class="btn btn-primary"> <span class="icon icon-retirer"></span> Supprimer </a> <?php /** @see FicheMetierController::deplacerMissionAction() */ ?> <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['id' => $type->getId(), 'direction' => 'up'], [], true); ?>" <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['fiche-metier' => $fichemetier->getId(), 'mission-principale' => $mission->getId(), 'direction' => 'up'], [], true); ?>" class="btn btn-primary"> <span class="icon icon-monter"></span> Remonter </a> <?php /** @see FicheMetierController::deplacerMissionAction() */ ?> <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['id' => $type->getId(), 'direction' => 'down'], [], true); ?>" <a href="<?php echo $this->url('fiche-metier/deplacer-mission', ['fiche-metier' => $fichemetier->getId(), 'mission-principale' => $mission->getId(), 'direction' => 'down'], [], true); ?>" class="btn btn-primary"> <span class="icon icon-descendre"></span> Descendre Loading @@ -137,6 +108,7 @@ $nbObject = $nbCompetence + $nbFormation + $nbApplication; </div> <!-- description --------------------------------------------------------------------------------------------------> <?php $activites = $mission->getActivites(); usort($activites, function (MissionActivite $a, MissionActivite $b) { return $a->getOrdre() > $b->getOrdre();}); Loading
module/FicheMetier/config/merged/fiche-metier.config.php +34 −2 Original line number Diff line number Diff line Loading @@ -106,6 +106,16 @@ return [ FicheMetierPrivileges::FICHEMETIER_MODIFIER, ], ], [ 'controller' => FicheMetierController::class, 'action' => [ 'gerer-applications', 'gerer-competences', ], 'privileges' => [ FicheMetierPrivileges::FICHEMETIER_MODIFIER, ], ], ], ], ], Loading Loading @@ -301,7 +311,7 @@ return [ 'deplacer-mission' => [ 'type' => Segment::class, 'options' => [ 'route' => '/deplacer-mission/:id/:direction', 'route' => '/deplacer-mission/:fiche-metier/:mission-principale/:direction', 'defaults' => [ /** @see FicheMetierController::deplacerMissionAction() */ 'controller' => FicheMetierController::class, Loading @@ -312,7 +322,7 @@ return [ 'supprimer-mission' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer-mission/:id', 'route' => '/supprimer-mission/:fiche-metier/:mission-principale', 'defaults' => [ /** @see FicheMetierController::supprimerMissionAction() */ 'controller' => FicheMetierController::class, Loading @@ -320,6 +330,28 @@ return [ ], ], ], 'gerer-applications' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer-application/:fiche-metier', 'defaults' => [ /** @see FicheMetierController::gererApplicationsAction() */ 'controller' => FicheMetierController::class, 'action' => 'gerer-applications', ], ], ], 'gerer-competences' => [ 'type' => Segment::class, 'options' => [ 'route' => '/gerer-competences/:fiche-metier', 'defaults' => [ /** @see FicheMetierController::gererCompetencesAction() */ 'controller' => FicheMetierController::class, 'action' => 'gerer-competences', ], ], ], ], ], ], Loading
module/FicheMetier/src/FicheMetier/Controller/FicheMetierController.php +113 −72 Original line number Diff line number Diff line Loading @@ -4,7 +4,10 @@ namespace FicheMetier\Controller; use Application\Form\ModifierLibelle\ModifierLibelleFormAwareTrait; use Application\Provider\Etat\FicheMetierEtats; use Element\Form\SelectionApplication\SelectionApplicationFormAwareTrait; use Element\Form\SelectionCompetence\SelectionCompetenceFormAwareTrait; use FicheMetier\Entity\Db\FicheMetier; use FicheMetier\Entity\Db\Mission; use FicheMetier\Form\FicheMetierImportation\FicheMetierImportationFormAwareTrait; use FicheMetier\Form\Raison\RaisonFormAwareTrait; use FicheMetier\Service\FicheMetier\FicheMetierServiceAwareTrait; Loading @@ -22,7 +25,6 @@ use UnicaenEtat\Service\Etat\EtatServiceAwareTrait; /** @method FlashMessenger flashMessenger() */ class FicheMetierController extends AbstractActionController { // use ActiviteServiceAwareTrait; use DomaineServiceAwareTrait; use EtatServiceAwareTrait; use FicheMetierServiceAwareTrait; Loading @@ -32,6 +34,8 @@ class FicheMetierController extends AbstractActionController { use FicheMetierImportationFormAwareTrait; use ModifierLibelleFormAwareTrait; use RaisonFormAwareTrait; use SelectionApplicationFormAwareTrait; use SelectionCompetenceFormAwareTrait; use SelectionEtatFormAwareTrait; use SelectionnerMetierFormAwareTrait; Loading Loading @@ -61,9 +65,9 @@ class FicheMetierController extends AbstractActionController { public function afficherAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $missions = $fichemetier->getMissions() ; // todo $this->getActiviteService()->getActivitesByFicheMetierType($fichemetier); $applications = []; //$this->getFicheMetierService()->getApplicationsDictionnaires($fichemetier, true); $competences = []; //$this->getFicheMetierService()->getCompetencesDictionnaires($fichemetier, true); $missions = $fichemetier->getMissions() ; $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fichemetier, true); $competences = $this->getFicheMetierService()->getCompetencesDictionnaires($fichemetier, true); return new ViewModel([ 'fiche' => $fichemetier, Loading Loading @@ -109,7 +113,7 @@ class FicheMetierController extends AbstractActionController { public function modifierAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $missions = []; //todo $this->getActiviteService()->getActivitesByFicheMetierType($fichemetier); $missions = $fichemetier->getMissions(); $applications = $this->getFicheMetierService()->getApplicationsDictionnaires($fichemetier, true); $competences = $this->getFicheMetierService()->getCompetencesDictionnaires($fichemetier, true); Loading Loading @@ -341,74 +345,111 @@ class FicheMetierController extends AbstractActionController { /** GESTION DES MISSIONS ******************************************************************************************/ // public function ajouterMissionAction(): ViewModel // { // $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); // // $mission = new Activite(); // $form = $this->getModifierLibelleForm(); // $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/ajouter-mission', ['fiche-metier' => $fichemetier->getId()], [], true)); // $form->bind($mission); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // if (isset($data['libelle']) AND trim($data['libelle'])) { // $this->getActiviteService()->create($mission); // $this->getActiviteService()->updateLibelle($mission, $data); // $this->getActiviteService()->createFicheMetierActivite($fichemetier, $mission); // } // } // // $vm = new ViewModel(); // $vm->setTemplate('default/default-form'); // $vm->setVariables([ // 'title' => 'Ajouter une mission', // 'form' => $form, // ]); // return $vm; // } // // public function deplacerMissionAction(): Response // { // $direction = $this->params()->fromRoute('direction'); // $coupleId = $this->params()->fromRoute('id'); // $couple = $this->getActiviteService()->getFicheMetierActivite($coupleId); // // if ($direction === 'up') $this->getActiviteService()->moveUp($couple); // if ($direction === 'down') $this->getActiviteService()->moveDown($couple); // // $this->getActiviteService()->updateFicheMetierActivite($couple); // // return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $couple->getFiche()->getId()], [], true); // } // // public function supprimerMissionAction(): Response // { // $coupleId = $this->params()->fromRoute('id'); // $couple = $this->getActiviteService()->getFicheMetierActivite($coupleId); // // $this->getActiviteService()->removeFicheMetierActivite($couple); // // return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $couple->getFiche()->getId()], [], true); // } public function ajouterMissionAction(): ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $mission = new Mission(); $form = $this->getModifierLibelleForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/ajouter-mission', ['fiche-metier' => $fichemetier->getId()], [], true)); $form->bind($mission); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getMissionPrincipaleService()->create($mission); $this->getFicheMetierService()->addMission($fichemetier, $mission); $this->getFicheMetierService()->compressMission($fichemetier); exit(); } } $vm = new ViewModel(); $vm->setTemplate('default/default-form'); $vm->setVariables([ 'title' => 'Ajouter une mission', 'form' => $form, ]); return $vm; } public function supprimerMissionAction(): Response { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); $this->getFicheMetierService()->removeMission($fichemetier, $mission); $this->getFicheMetierService()->compressMission($fichemetier); return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $fichemetier->getId()], [], true); } public function deplacerMissionAction(): Response { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $mission = $this->getMissionPrincipaleService()->getRequestedMissionPrincipale($this); $direction = $this->params()->fromRoute('direction'); $this->getFicheMetierService()->compressMission($fichemetier); $this->getFicheMetierService()->moveMission($fichemetier, $mission, $direction); return $this->redirect()->toRoute('fiche-metier/modifier', ['fiche-metier' => $fichemetier->getId()], [], true); } /** GESTION DES APPLICATIONS ET DES COMPETENTES *******************************************************************/ public function gererApplicationsAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $form = $this->getSelectionApplicationForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/gerer-applications', ['fiche-metier' => $fichemetier->getId()], [], true)); $form->bind($fichemetier); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getFicheMetierService()->update($fichemetier); exit(); } } $vm = new ViewModel([ 'title' => "Gestion des applications associées à la fiche métier", 'form' => $form, ]); $vm->setTemplate('default/default-form'); return $vm; } public function gererCompetencesAction() : ViewModel { $fichemetier = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'fiche-metier'); $form = $this->getSelectionCompetenceForm(); $form->setAttribute('action', $this->url()->fromRoute('fiche-metier/gerer-competences', ['fiche-metier' => $fichemetier->getId()], [], true)); $form->bind($fichemetier); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $form->setData($data); if ($form->isValid()) { $this->getFicheMetierService()->update($fichemetier); exit(); } } $vm = new ViewModel([ 'title' => "Gestion des compétences associées à la fiche métier", 'form' => $form, ]); $vm->setTemplate('default/default-form'); return $vm; } // public function ajouterActiviteExistanteAction(): ViewModel // { // $fiche = $this->getFicheMetierService()->getRequestedFicheMetier($this, 'id', true); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // $activite = $this->getActiviteService()->getActivite($data['activite']["id"]); // $this->getActiviteService()->createFicheMetierActivite($fiche, $activite); // } // // return new ViewModel([ // 'title' => 'Ajouter une activité existante', // 'url' => $this->url()->fromRoute('fiche-metier-type/ajouter-activite-existante', ['id' => $fiche->getId()], [], true), // ]); // } /** LEFT OVER *****************************************************************************************************/ Loading
module/FicheMetier/src/FicheMetier/Controller/FicheMetierControllerFactory.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 Element\Form\SelectionApplication\SelectionApplicationForm; use Element\Form\SelectionCompetence\SelectionCompetenceForm; use FicheMetier\Form\FicheMetierImportation\FicheMetierImportationForm; use FicheMetier\Form\Raison\RaisonForm; use FicheMetier\Service\FicheMetier\FicheMetierService; Loading Loading @@ -43,12 +45,16 @@ class FicheMetierControllerFactory { * @var FicheMetierImportationForm $importationForm * @var ModifierLibelleForm $modifierLibelleForm * @var RaisonForm $raisonForm * @var SelectionApplicationForm $selectionnerApplicationForm * @var SelectionCompetenceForm $selectionnerCompetenceForm * @var SelectionEtatForm $selectionnerEtatForm * @var SelectionnerMetierForm $selectionnerMetierForm */ $importationForm = $container->get('FormElementManager')->get(FicheMetierImportationForm::class); $modifierLibelleForm = $container->get('FormElementManager')->get(ModifierLibelleForm::class); $selectionnerEtatForm = $container->get('FormElementManager')->get(SelectionEtatForm::class); $selectionnerApplicationForm = $container->get('FormElementManager')->get(SelectionApplicationForm::class); $selectionnerCompetenceForm = $container->get('FormElementManager')->get(SelectionCompetenceForm::class); $selectionnerMetierForm = $container->get('FormElementManager')->get(SelectionnerMetierForm::class); $raisonForm = $container->get('FormElementManager')->get(RaisonForm::class); Loading @@ -61,6 +67,8 @@ class FicheMetierControllerFactory { $controller->setFicheMetierImportationForm($importationForm); $controller->setModifierLibelleForm($modifierLibelleForm); $controller->setRaisonForm($raisonForm); $controller->setSelectionApplicationForm($selectionnerApplicationForm); $controller->setSelectionCompetenceForm($selectionnerCompetenceForm); $controller->setSelectionEtatForm($selectionnerEtatForm); $controller->setSelectionnerMetierForm($selectionnerMetierForm); return $controller; Loading
module/FicheMetier/src/FicheMetier/Entity/Db/FicheMetier.php +4 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface, HasMeti return $missions; } /** FONCTION POUR MACRO *******************************************************************************************/ /** Loading @@ -100,6 +99,10 @@ class FicheMetier implements HistoriqueAwareInterface, HasEtatInterface, HasMeti return $metier->getLibelle(); } /** * Utiliser dans la macro FICHE_METIER#MISSIONS_PRINCIPALES * @noinspection PhpUnused */ public function getMissionsAsList() : string { $texte = ""; Loading