Loading documentation/release/3.2.6.md +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ Version 3.2.5 (XX/XX/2023) - [Fix] Retrait de restes de l'ancien système de chaine hiérarchique dans la page d'index des agents. - Remplacement de l'affichage Administratif par Administratif/BIATSS - Lors de la saisie manuelle de la chaine hiérarchique l'existant est réaffiché après la saisie de l'agent - Restauration de l'ajout/gestion/retrait des missions additionnelles dans les fiches de postes Modification en BD --- Loading module/Application/src/Application/Controller/SpecificiteController.php +84 −74 Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ namespace Application\Controller; use Application\Entity\Db\SpecificitePoste; use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\SpecificitePoste\SpecificitePosteServiceAwareTrait; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleServiceAwareTrait; use FichePoste\Service\MissionAdditionnelle\MissionAdditionnelleServiceAwareTrait; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Model\ViewModel; Loading @@ -11,95 +14,102 @@ use Laminas\View\Model\ViewModel; class SpecificiteController extends AbstractActionController { use FichePosteServiceAwareTrait; use MissionAdditionnelleServiceAwareTrait; use MissionPrincipaleServiceAwareTrait; use SpecificitePosteServiceAwareTrait; /** TODO Déclarer la gestion du formulaire de specificité ici et non plus dans le controller FichePosteController */ /** ACTIVITES LIEES A LA SPECIFICITE DE POSTE *********************************************************************/ /** TODO reecrire avec les missions additionnelles */ public function ajouterActiviteAction() : ViewModel { // $fichePoste = $this->getFichePosteService()->getRequestedFichePoste($this); // $specificite = $this->getSpecificitePosteService()->getRequestedSpecificitePoste($this); // if ($specificite === null) $specificite = $fichePoste->getSpecificite(); $fichePoste = $this->getFichePosteService()->getRequestedFichePoste($this); $specificite = $this->getSpecificitePosteService()->getRequestedSpecificitePoste($this); if ($specificite === null) $specificite = $fichePoste->getSpecificite(); // // if ($specificite === null) { // $specificite = new SpecificitePoste(); // $specificite->setFiche($fichePoste); // $this->getSpecificitePosteService()->create($specificite); // $fichePoste->setSpecificite($specificite); // $this->getFichePosteService()->update($fichePoste); // } // // $alreadyIn = []; // foreach ($specificite->getActivites() as $activite) { // $alreadyIn[$activite->getActivite()->getId()] = $activite; // } // $activites = $this->getActiviteService()->getActivites(); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // $activite = $this->getActiviteService()->getActivite((int)$data['activite']['id']); // if ($activite !== null) { // $specificiteActivite = new SpecificiteActivite(); // $specificiteActivite->setActivite($activite); // $specificiteActivite->setSpecificite($specificite); // $this->getSpecificiteActiviteService()->create($specificiteActivite); // } // } // // $vm = new ViewModel([ // 'title' => "Ajout d'une activité spécifique au poste", // 'fichePoste' => $fichePoste, // 'specificite' => $specificite, // 'activites' => $activites, // 'alreadyIn' => $alreadyIn, // 'url' => $this->url()->fromRoute('specificite/ajouter-activite', ['fiche-poste' => $fichePoste->getId(), 'specificite-poste' => $specificite->getId()], [], true), // ]); // $vm->setTemplate('application/fiche-metier/ajouter-activite-existante'); // return $vm; if ($specificite === null) { $specificite = new SpecificitePoste(); $specificite->setFiche($fichePoste); $this->getSpecificitePosteService()->create($specificite); $fichePoste->setSpecificite($specificite); $this->getFichePosteService()->update($fichePoste); } $alreadyIn = []; foreach ($specificite->getActivites() as $activite) { $alreadyIn[$activite->getActivite()->getId()] = $activite; } $activites = $this->getMissionPrincipaleService()->getMissionsPrincipales(); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $mission = $this->getMissionPrincipaleService()->getMissionPrincipale((int)$data['activite']['id']); if ($mission !== null) { $this->getMissionAdditionnelleService()->ajouterMissionAdditionnelle($fichePoste, $mission); } } $vm = new ViewModel([ 'title' => "Ajout d'une mission additionnelle au poste", 'fichePoste' => $fichePoste, 'specificite' => $specificite, 'activites' => $activites, 'alreadyIn' => $alreadyIn, 'url' => $this->url()->fromRoute('specificite/ajouter-activite', ['fiche-poste' => $fichePoste->getId(), 'specificite-poste' => $specificite->getId()], [], true), ]); return $vm; } /** TODO reecrire avec les missions additionnelles */ public function retirerActiviteAction() : Response public function retirerActiviteAction() : ViewModel { // $specificiteActivite = $this->getSpecificiteActiviteService()->getRequestSpecificiteActivite($this); // $retour = $this->params()->fromQuery('retour'); // // $this->getSpecificiteActiviteService()->delete($specificiteActivite); // // if ($retour) return $this->redirect()->toRoute($retour); // return $this->redirect()->toRoute('fiche-poste/editer', ['fiche-poste' => $specificiteActivite->getSpecificite()->getFiche()->getId()], [], true); $missionadditionnelle = $this->getMissionAdditionnelleService()->getRequestedMissionAdditionnelle($this, 'specificite-activite'); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); if ($data["reponse"] === "oui") $this->getMissionAdditionnelleService()->delete($missionadditionnelle); exit(); } $vm = new ViewModel(); if ($missionadditionnelle !== null) { $vm->setTemplate('default/confirmation'); $vm->setVariables([ 'title' => "Suppression de la mission additionnelle <strong>" . $missionadditionnelle->getMission()->getLibelle() . '</strong>', 'text' => "La suppression est définitive êtes-vous sûr·e de vouloir continuer ?", 'action' => $this->url()->fromRoute('specificite/retirer-activite', ["specificite-activite" => $missionadditionnelle->getId()], [], true), ]); } return $vm; } /** TODO reecrire avec les missions additionnelles */ public function gererActiviteAction() : ViewModel { // $specificiteActivite = $this->getSpecificiteActiviteService()->getRequestSpecificiteActivite($this); // // $descriptions = $specificiteActivite->getActivite()->getDescriptions(); // $descriptions = array_filter($descriptions, function ($a) { // return $a->estNonHistorise(); // }); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // $toRemove = []; // foreach ($descriptions as $description) { // if (!isset($data["" . $description->getId()]) or $data["" . $description->getId()] !== "on") $toRemove[] = $description->getId(); // } // $retrait = implode(";", $toRemove); // $specificiteActivite->setRetrait($retrait); // $this->getSpecificiteActiviteService()->update($specificiteActivite); // } // // return new ViewModel([ // 'title' => 'Sélectionner les descriptions à conserver', // 'specificiteActivite' => $specificiteActivite, // 'descriptions' => $descriptions, // ]); $missionadditionnelle = $this->getMissionAdditionnelleService()->getRequestedMissionAdditionnelle($this, 'specificite-activite'); $descriptions = $missionadditionnelle->getMission()->getActivites(); $descriptions = array_filter($descriptions, function ($a) { return $a->estNonHistorise(); }); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $toRemove = []; foreach ($descriptions as $description) { if (!isset($data["" . $description->getId()]) or $data["" . $description->getId()] !== "on") $toRemove[] = $description->getId(); } $retrait = implode(";", $toRemove); $missionadditionnelle->setRetraits($retrait); $this->getMissionAdditionnelleService()->update($missionadditionnelle); } return new ViewModel([ 'title' => 'Sélectionner les descriptions à conserver', 'missionAdditionnelle' => $missionadditionnelle, 'descriptions' => $descriptions, ]); } } No newline at end of file module/Application/src/Application/Controller/SpecificiteControllerFactory.php +8 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Application\Controller; use Application\Service\FichePoste\FichePosteService; use Application\Service\SpecificitePoste\SpecificitePosteService; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleService; use FichePoste\Service\MissionAdditionnelle\MissionAdditionnelleService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; Loading @@ -20,13 +22,19 @@ class SpecificiteControllerFactory { { /** * @var FichePosteService $fichePosteService * @var MissionAdditionnelleService $missionAdditionnelleService * @var MissionPrincipaleService $missionPrincipaleService * @var SpecificitePosteService $specificitePosteService */ $fichePosteService = $container->get(FichePosteService::class); $missionAdditionnelleService = $container->get(MissionAdditionnelleService::class); $missionPrincipaleService = $container->get(MissionPrincipaleService::class); $specificitePosteService = $container->get(SpecificitePosteService::class); $controller = new SpecificiteController(); $controller->setFichePosteService($fichePosteService); $controller->setMissionAdditionnelleService($missionAdditionnelleService); $controller->setMissionPrincipaleService($missionPrincipaleService); $controller->setSpecificitePosteService($specificitePosteService); return $controller; } Loading module/Application/src/Application/Service/SpecificitePoste/SpecificitePosteService.php +1 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ class SpecificitePosteService { public function createQueryBuilder() : QueryBuilder { $qb = $this->getEntityManager()->getRepository(SpecificitePoste::class)->createQueryBuilder('specificite') ->leftJoin('specificite.activites', 'activite')->addSelect('specificite') // ->leftJoin('specificite.activites', 'activite')->addSelect('specificite') ; return $qb; } Loading module/Application/src/Application/View/Helper/partial/specificite-activite.phtml +19 −23 Original line number Diff line number Diff line Loading @@ -30,10 +30,10 @@ $agent = $missionAdditionnelle->getFicheposte()->getAgent(); $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent):null; ?> <div class="specificite-activite"> <div class="activite-titre delta_<?php echo $delta; ?>"> <div class="card"> <div class="card-header delta_<?php echo $delta; ?>"> <div class="row"> <div class="col-md-10"> <div class="col-md-9"> <h3><?php echo $mission->getLibelle(); ?> <?php if ($delta AND $delta !== 0) : ?> <span class="icon icon-attention" title="Il existe un écart de <?php echo $delta; ?> niveau(x) entre l'agent et l'activité"></span> Loading @@ -41,18 +41,27 @@ $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent </h3> </div> <?php if($mode === 'edition') : ?> <div class="pull-right activite-action"> <div class="col-md-3 action"> <?php if ($canGererActivite) : ?> <?php /** @see \Application\Controller\SpecificiteController::gererActiviteAction() */ ?> <a href="<?php echo $this->url('specificite/gerer-activite', ['specificite-activite' => $missionAdditionnelle->getId()], [], true); ?>" class="ajax-modal" data-event="modification" > <span class="icon icon-listing"></span></a> <span class="icon icon-listing"></span> Sélectionner des activités </a> <?php endif; ?> <br> <?php if ($canRetirerActivite) : ?> <?php /** @see \Application\Controller\SpecificiteController::retirerActiviteAction() */ ?> <a href="<?php echo $this->url('specificite/retirer-activite', ['specificite-activite' => $missionAdditionnelle->getId()], [], true); ?>"> <span class="icon icon-retirer"></span></a> <a href="<?php echo $this->url('specificite/retirer-activite', ['specificite-activite' => $missionAdditionnelle->getId()], [], true); ?>" class="ajax-modal" data-event="modification" > <span class="text-danger"> <span class="icon icon-retirer"></span> Retirer </span> </a> <?php endif; ?> </div> <?php endif; ?> Loading @@ -69,7 +78,7 @@ $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent <br/> <?php endif; ?> </div> <div class="card-body"> <div class="row"> <div class="col-md-8"> <div class="activite-description"> Loading Loading @@ -116,18 +125,5 @@ $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent </div> </div> </div> </div> <style> div.specificite-activite div.activite-titre { border: 1px solid black; padding-left: 2rem; } div.specificite-activite div.activite-action { padding-top: 2rem; padding-right: 1rem; } </style> No newline at end of file </div> Loading
documentation/release/3.2.6.md +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ Version 3.2.5 (XX/XX/2023) - [Fix] Retrait de restes de l'ancien système de chaine hiérarchique dans la page d'index des agents. - Remplacement de l'affichage Administratif par Administratif/BIATSS - Lors de la saisie manuelle de la chaine hiérarchique l'existant est réaffiché après la saisie de l'agent - Restauration de l'ajout/gestion/retrait des missions additionnelles dans les fiches de postes Modification en BD --- Loading
module/Application/src/Application/Controller/SpecificiteController.php +84 −74 Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ namespace Application\Controller; use Application\Entity\Db\SpecificitePoste; use Application\Service\FichePoste\FichePosteServiceAwareTrait; use Application\Service\SpecificitePoste\SpecificitePosteServiceAwareTrait; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleServiceAwareTrait; use FichePoste\Service\MissionAdditionnelle\MissionAdditionnelleServiceAwareTrait; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Model\ViewModel; Loading @@ -11,95 +14,102 @@ use Laminas\View\Model\ViewModel; class SpecificiteController extends AbstractActionController { use FichePosteServiceAwareTrait; use MissionAdditionnelleServiceAwareTrait; use MissionPrincipaleServiceAwareTrait; use SpecificitePosteServiceAwareTrait; /** TODO Déclarer la gestion du formulaire de specificité ici et non plus dans le controller FichePosteController */ /** ACTIVITES LIEES A LA SPECIFICITE DE POSTE *********************************************************************/ /** TODO reecrire avec les missions additionnelles */ public function ajouterActiviteAction() : ViewModel { // $fichePoste = $this->getFichePosteService()->getRequestedFichePoste($this); // $specificite = $this->getSpecificitePosteService()->getRequestedSpecificitePoste($this); // if ($specificite === null) $specificite = $fichePoste->getSpecificite(); $fichePoste = $this->getFichePosteService()->getRequestedFichePoste($this); $specificite = $this->getSpecificitePosteService()->getRequestedSpecificitePoste($this); if ($specificite === null) $specificite = $fichePoste->getSpecificite(); // // if ($specificite === null) { // $specificite = new SpecificitePoste(); // $specificite->setFiche($fichePoste); // $this->getSpecificitePosteService()->create($specificite); // $fichePoste->setSpecificite($specificite); // $this->getFichePosteService()->update($fichePoste); // } // // $alreadyIn = []; // foreach ($specificite->getActivites() as $activite) { // $alreadyIn[$activite->getActivite()->getId()] = $activite; // } // $activites = $this->getActiviteService()->getActivites(); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // $activite = $this->getActiviteService()->getActivite((int)$data['activite']['id']); // if ($activite !== null) { // $specificiteActivite = new SpecificiteActivite(); // $specificiteActivite->setActivite($activite); // $specificiteActivite->setSpecificite($specificite); // $this->getSpecificiteActiviteService()->create($specificiteActivite); // } // } // // $vm = new ViewModel([ // 'title' => "Ajout d'une activité spécifique au poste", // 'fichePoste' => $fichePoste, // 'specificite' => $specificite, // 'activites' => $activites, // 'alreadyIn' => $alreadyIn, // 'url' => $this->url()->fromRoute('specificite/ajouter-activite', ['fiche-poste' => $fichePoste->getId(), 'specificite-poste' => $specificite->getId()], [], true), // ]); // $vm->setTemplate('application/fiche-metier/ajouter-activite-existante'); // return $vm; if ($specificite === null) { $specificite = new SpecificitePoste(); $specificite->setFiche($fichePoste); $this->getSpecificitePosteService()->create($specificite); $fichePoste->setSpecificite($specificite); $this->getFichePosteService()->update($fichePoste); } $alreadyIn = []; foreach ($specificite->getActivites() as $activite) { $alreadyIn[$activite->getActivite()->getId()] = $activite; } $activites = $this->getMissionPrincipaleService()->getMissionsPrincipales(); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $mission = $this->getMissionPrincipaleService()->getMissionPrincipale((int)$data['activite']['id']); if ($mission !== null) { $this->getMissionAdditionnelleService()->ajouterMissionAdditionnelle($fichePoste, $mission); } } $vm = new ViewModel([ 'title' => "Ajout d'une mission additionnelle au poste", 'fichePoste' => $fichePoste, 'specificite' => $specificite, 'activites' => $activites, 'alreadyIn' => $alreadyIn, 'url' => $this->url()->fromRoute('specificite/ajouter-activite', ['fiche-poste' => $fichePoste->getId(), 'specificite-poste' => $specificite->getId()], [], true), ]); return $vm; } /** TODO reecrire avec les missions additionnelles */ public function retirerActiviteAction() : Response public function retirerActiviteAction() : ViewModel { // $specificiteActivite = $this->getSpecificiteActiviteService()->getRequestSpecificiteActivite($this); // $retour = $this->params()->fromQuery('retour'); // // $this->getSpecificiteActiviteService()->delete($specificiteActivite); // // if ($retour) return $this->redirect()->toRoute($retour); // return $this->redirect()->toRoute('fiche-poste/editer', ['fiche-poste' => $specificiteActivite->getSpecificite()->getFiche()->getId()], [], true); $missionadditionnelle = $this->getMissionAdditionnelleService()->getRequestedMissionAdditionnelle($this, 'specificite-activite'); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); if ($data["reponse"] === "oui") $this->getMissionAdditionnelleService()->delete($missionadditionnelle); exit(); } $vm = new ViewModel(); if ($missionadditionnelle !== null) { $vm->setTemplate('default/confirmation'); $vm->setVariables([ 'title' => "Suppression de la mission additionnelle <strong>" . $missionadditionnelle->getMission()->getLibelle() . '</strong>', 'text' => "La suppression est définitive êtes-vous sûr·e de vouloir continuer ?", 'action' => $this->url()->fromRoute('specificite/retirer-activite', ["specificite-activite" => $missionadditionnelle->getId()], [], true), ]); } return $vm; } /** TODO reecrire avec les missions additionnelles */ public function gererActiviteAction() : ViewModel { // $specificiteActivite = $this->getSpecificiteActiviteService()->getRequestSpecificiteActivite($this); // // $descriptions = $specificiteActivite->getActivite()->getDescriptions(); // $descriptions = array_filter($descriptions, function ($a) { // return $a->estNonHistorise(); // }); // // $request = $this->getRequest(); // if ($request->isPost()) { // $data = $request->getPost(); // $toRemove = []; // foreach ($descriptions as $description) { // if (!isset($data["" . $description->getId()]) or $data["" . $description->getId()] !== "on") $toRemove[] = $description->getId(); // } // $retrait = implode(";", $toRemove); // $specificiteActivite->setRetrait($retrait); // $this->getSpecificiteActiviteService()->update($specificiteActivite); // } // // return new ViewModel([ // 'title' => 'Sélectionner les descriptions à conserver', // 'specificiteActivite' => $specificiteActivite, // 'descriptions' => $descriptions, // ]); $missionadditionnelle = $this->getMissionAdditionnelleService()->getRequestedMissionAdditionnelle($this, 'specificite-activite'); $descriptions = $missionadditionnelle->getMission()->getActivites(); $descriptions = array_filter($descriptions, function ($a) { return $a->estNonHistorise(); }); $request = $this->getRequest(); if ($request->isPost()) { $data = $request->getPost(); $toRemove = []; foreach ($descriptions as $description) { if (!isset($data["" . $description->getId()]) or $data["" . $description->getId()] !== "on") $toRemove[] = $description->getId(); } $retrait = implode(";", $toRemove); $missionadditionnelle->setRetraits($retrait); $this->getMissionAdditionnelleService()->update($missionadditionnelle); } return new ViewModel([ 'title' => 'Sélectionner les descriptions à conserver', 'missionAdditionnelle' => $missionadditionnelle, 'descriptions' => $descriptions, ]); } } No newline at end of file
module/Application/src/Application/Controller/SpecificiteControllerFactory.php +8 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Application\Controller; use Application\Service\FichePoste\FichePosteService; use Application\Service\SpecificitePoste\SpecificitePosteService; use FicheMetier\Service\MissionPrincipale\MissionPrincipaleService; use FichePoste\Service\MissionAdditionnelle\MissionAdditionnelleService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; Loading @@ -20,13 +22,19 @@ class SpecificiteControllerFactory { { /** * @var FichePosteService $fichePosteService * @var MissionAdditionnelleService $missionAdditionnelleService * @var MissionPrincipaleService $missionPrincipaleService * @var SpecificitePosteService $specificitePosteService */ $fichePosteService = $container->get(FichePosteService::class); $missionAdditionnelleService = $container->get(MissionAdditionnelleService::class); $missionPrincipaleService = $container->get(MissionPrincipaleService::class); $specificitePosteService = $container->get(SpecificitePosteService::class); $controller = new SpecificiteController(); $controller->setFichePosteService($fichePosteService); $controller->setMissionAdditionnelleService($missionAdditionnelleService); $controller->setMissionPrincipaleService($missionPrincipaleService); $controller->setSpecificitePosteService($specificitePosteService); return $controller; } Loading
module/Application/src/Application/Service/SpecificitePoste/SpecificitePosteService.php +1 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ class SpecificitePosteService { public function createQueryBuilder() : QueryBuilder { $qb = $this->getEntityManager()->getRepository(SpecificitePoste::class)->createQueryBuilder('specificite') ->leftJoin('specificite.activites', 'activite')->addSelect('specificite') // ->leftJoin('specificite.activites', 'activite')->addSelect('specificite') ; return $qb; } Loading
module/Application/src/Application/View/Helper/partial/specificite-activite.phtml +19 −23 Original line number Diff line number Diff line Loading @@ -30,10 +30,10 @@ $agent = $missionAdditionnelle->getFicheposte()->getAgent(); $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent):null; ?> <div class="specificite-activite"> <div class="activite-titre delta_<?php echo $delta; ?>"> <div class="card"> <div class="card-header delta_<?php echo $delta; ?>"> <div class="row"> <div class="col-md-10"> <div class="col-md-9"> <h3><?php echo $mission->getLibelle(); ?> <?php if ($delta AND $delta !== 0) : ?> <span class="icon icon-attention" title="Il existe un écart de <?php echo $delta; ?> niveau(x) entre l'agent et l'activité"></span> Loading @@ -41,18 +41,27 @@ $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent </h3> </div> <?php if($mode === 'edition') : ?> <div class="pull-right activite-action"> <div class="col-md-3 action"> <?php if ($canGererActivite) : ?> <?php /** @see \Application\Controller\SpecificiteController::gererActiviteAction() */ ?> <a href="<?php echo $this->url('specificite/gerer-activite', ['specificite-activite' => $missionAdditionnelle->getId()], [], true); ?>" class="ajax-modal" data-event="modification" > <span class="icon icon-listing"></span></a> <span class="icon icon-listing"></span> Sélectionner des activités </a> <?php endif; ?> <br> <?php if ($canRetirerActivite) : ?> <?php /** @see \Application\Controller\SpecificiteController::retirerActiviteAction() */ ?> <a href="<?php echo $this->url('specificite/retirer-activite', ['specificite-activite' => $missionAdditionnelle->getId()], [], true); ?>"> <span class="icon icon-retirer"></span></a> <a href="<?php echo $this->url('specificite/retirer-activite', ['specificite-activite' => $missionAdditionnelle->getId()], [], true); ?>" class="ajax-modal" data-event="modification" > <span class="text-danger"> <span class="icon icon-retirer"></span> Retirer </span> </a> <?php endif; ?> </div> <?php endif; ?> Loading @@ -69,7 +78,7 @@ $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent <br/> <?php endif; ?> </div> <div class="card-body"> <div class="row"> <div class="col-md-8"> <div class="activite-description"> Loading Loading @@ -116,18 +125,5 @@ $delta = ($mission->getNiveau())?$mission->getNiveau()->getDeltaWithAgent($agent </div> </div> </div> </div> <style> div.specificite-activite div.activite-titre { border: 1px solid black; padding-left: 2rem; } div.specificite-activite div.activite-action { padding-top: 2rem; padding-right: 1rem; } </style> No newline at end of file </div>