Loading module/Formation/src/Formation/Assertion/DemandeExterneAssertion.php +6 −3 Changes for module/Formation/src/Formation/Assertion/DemandeExterneAssertion.php: 6 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -53,11 +53,11 @@ class DemandeExterneAssertion extends AbstractAssertion { * @param string $privilege * @return bool */ private function computeAssertion(?DemandeExterne $demande, string $privilege) : bool private function computeAssertion(?DemandeExterne $demande, string $privilege, ?Agent $givenAgent = null) : bool { $user = $this->getUserService()->getConnectedUser(); $role = $this->getUserService()->getConnectedRole(); $agent = $demande->getAgent(); $agent = ($demande)?$demande->getAgent():$givenAgent; switch($role->getRoleId()) { case RoleConstant::ADMIN_TECH : Loading Loading @@ -101,12 +101,15 @@ class DemandeExterneAssertion extends AbstractAssertion { /** @var DemandeExterne|null $entity */ $demandeId = (($this->getMvcEvent()->getRouteMatch()->getParam('demande-externe'))); $entity = $this->getDemandeExterneService()->getDemandeExterne($demandeId); /** @var Agent|null $entity */ $agentId = (($this->getMvcEvent()->getRouteMatch()->getParam('agent'))); $entityAgent = $this->getAgentService()->getAgent($agentId); switch($action) { case 'afficher' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AFFICHER); case 'ajouter' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER); return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER, $entityAgent); case 'modifier' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER); case 'historiser' : Loading module/Formation/src/Formation/Controller/FormationInstanceInscritController.php +10 −1 Changes for module/Formation/src/Formation/Controller/FormationInstanceInscritController.php: 10 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ use Application\Service\Agent\AgentServiceAwareTrait; use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\FormationInstanceInscrit; use Formation\Form\Inscription\InscriptionFormAwareTrait; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Etat\InscriptionEtats; use Formation\Provider\Etat\SessionEtats; use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait; Loading Loading @@ -169,12 +170,18 @@ class FormationInstanceInscritController extends AbstractActionController $superieures = $this->getAgentService()->computeSuperieures($agent); $demandes = $this->getDemandeExterneService()->getDemandesExternesByAgent($agent); $demandes = array_filter($demandes, function (DemandeExterne $d) { return $d->estNonHistorise();}); $demandesNonValidees = array_filter($demandes, function (DemandeExterne $d) { return $d->getEtat()->getCode() === DemandeExterneEtats::ETAT_CREATION_EN_COURS; }); return new ViewModel([ 'instances' => $instances, 'inscriptions' => $inscriptions, 'formations' => $formations, 'agent' => $agent, 'demandes' => $demandesNonValidees, 'superieures' => $superieures, ]); } Loading @@ -192,6 +199,8 @@ class FormationInstanceInscritController extends AbstractActionController $demandes = $this->getDemandeExterneService()->getDemandesExternesByAgent($agent); $demandes = array_filter($demandes, function (DemandeExterne $d) { return $d->estNonHistorise();}); $demandesValidees = array_filter($demandes, function (DemandeExterne $d) { return $d->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS; }); $rendu = $this->getRenduService()->generateRenduByTemplateCode('PARCOURS_ENTREE_TEXTE', []); return new ViewModel([ 'instances' => $instances, Loading @@ -199,7 +208,7 @@ class FormationInstanceInscritController extends AbstractActionController 'formations' => $formations, 'agent' => $agent, 'texteParcours' => $rendu->getCorps(), 'demandes' => $demandes, 'demandes' => $demandesValidees, ]); } Loading module/Formation/view/formation/demande-externe/afficher.phtml +2 −1 Changes for module/Formation/view/formation/demande-externe/afficher.phtml: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -11,7 +11,8 @@ use Formation\Provider\Validation\DemandeExterneValidations; * @var Agent $agent; */ $canValiderDrh = $this->isAllowed(DemandeexternePrivileges::getResourceId(DemandeexternePrivileges::DEMANDEEXTERNE_VALIDER_DRH)); $canValiderDrh = $this->isAllowed($demande,DemandeexternePrivileges::DEMANDEEXTERNE_VALIDER_DRH); ?> Loading module/Formation/view/formation/formation-instance-inscrit/inscription-formation.phtml +3 −1 Changes for module/Formation/view/formation/formation-instance-inscrit/inscription-formation.phtml: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,11 +4,13 @@ * @see \Formation\Controller\FormationInstanceInscritController::inscriptionFormationAction() * @var FormationInstance[] $instances * @var FormationInstanceInscrit[] $inscriptions * @var DemandeExterne[] $demandes * @var Agent $agent * @var array $superieures */ use Application\Entity\Db\Agent; use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\FormationInstance; use Formation\Entity\Db\FormationInstanceInscrit; Loading Loading @@ -54,7 +56,7 @@ if (!empty($superieures)) { <!-- Mission-------------------------------------------------------------------------------------------> <div id="demandes" class="tab-pane"> <?php echo $this->partial('partial/demandes-externes', ['agent' => $agent]); ?> <?php echo $this->partial('partial/demandes-externes', ['agent' => $agent, 'demandes' => $demandes]); ?> </div> </div> Loading module/Formation/view/formation/formation-instance-inscrit/partial/demandes-externes.phtml +56 −2 Changes for module/Formation/view/formation/formation-instance-inscrit/partial/demandes-externes.phtml: 56 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -2,9 +2,12 @@ /** * @var Agent $agent * @var DemandeExterne[] $demandes */ use Application\Entity\Db\Agent; use Formation\Entity\Db\DemandeExterne; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Privilege\DemandeexternePrivileges; $canAjouterDemande = $this->isAllowed(DemandeexternePrivileges::getResourceId(DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER)); Loading @@ -15,10 +18,11 @@ $canAjouterDemande = $this->isAllowed(DemandeexternePrivileges::getResource S'inscire à un stage hors du plan de formation </h2> <div> <div class="row"> <div class="col-md-7"> Afin de réaliser une demande de formation hors plan de formation, vous devez trouver au <em>moins trois</em> organismes et déposer les devis. </div> <div class="col-md-5"> <?php /** @see \Formation\Controller\DemandeExterneController::ajouterAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/ajouter', ['agent' => $agent->getId()], [], true); ?>" class="btn btn-primary ajax-modal <?php if (!$canAjouterDemande) echo " disabled "; ?> " data-event="modification" Loading @@ -26,3 +30,53 @@ $canAjouterDemande = $this->isAllowed(DemandeexternePrivileges::getResource <span class="icon icon-ajouter"></span> Je remplis le formulaire </a> </div> </div> <br/> <h2> Demandes que je n'ai pas encore validée </h2> <?php foreach($demandes as $demande) : ?> <div class="row"> <div class="col-md-7 description"> <?php echo $this->etatbadge($demande->getEtat()); ?> <?php echo $demande->getLibelle(); ?> (<?php echo $demande->getOrganisme(); ?>) <br/> <?php echo $demande->getLieu(); ?> ( du <?php echo $demande->getDebut()->format('d/m/Y'); ?> au <?php echo $demande->getFin()->format('d/m/Y'); ?>) <br/> Créée le <?php echo $demande->getHistoCreation()->format('d/m/Y à H:i'); ?> <br/> <br/> </div> <div class="col-md-5"> <?php $canModifierDemande = $this->isAllowed($demande, DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER); $canValiderAgentDemande = $this->isAllowed($demande, DemandeexternePrivileges::DEMANDEEXTERNE_VALIDER_AGENT); $canHistoriserDemande = $this->isAllowed($demande, DemandeexternePrivileges::DEMANDEEXTERNE_HISTORISER); ?> <?php /** @see \Formation\Controller\DemandeExterneController::validerAgentAction() */?> <a href="<?php echo $this->url('formation/demande-externe/valider-agent', ['demande-externe' => $demande->getId()], [], true); ?>" class="btn btn-success ajax-modal <?php if (!$canValiderAgentDemande) echo " disabled "; ?> " data-event="modification"> <span class="icon icon-valider"></span> Valider la demande (Agent) </a> <?php /** @see \Formation\Controller\DemandeExterneController::modifierAction() */?> <a href="<?php echo $this->url('formation/demande-externe/modifier', ['demande-externe' => $demande->getId()], [], true); ?>" class="btn btn-primary ajax-modal <?php if (!$canModifierDemande) echo " disabled "; ?> " data-event="modification"> <span class="icon icon-modifier"></span> Modifier la demande </a> <?php /** @see \Formation\Controller\DemandeExterneController::historiserAction() */?> <a href="<?php echo $this->url('formation/demande-externe/historiser', ['demande-externe' => $demande->getId()], [], true); ?>" class="btn btn-danger <?php if (!$canHistoriserDemande) echo " disabled "; ?> "> <span class="icon icon-historiser"></span> Supprimer la demande </a> <br/> <br/> </div> </div> <?php endforeach; ?> Loading
module/Formation/src/Formation/Assertion/DemandeExterneAssertion.php +6 −3 Changes for module/Formation/src/Formation/Assertion/DemandeExterneAssertion.php: 6 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -53,11 +53,11 @@ class DemandeExterneAssertion extends AbstractAssertion { * @param string $privilege * @return bool */ private function computeAssertion(?DemandeExterne $demande, string $privilege) : bool private function computeAssertion(?DemandeExterne $demande, string $privilege, ?Agent $givenAgent = null) : bool { $user = $this->getUserService()->getConnectedUser(); $role = $this->getUserService()->getConnectedRole(); $agent = $demande->getAgent(); $agent = ($demande)?$demande->getAgent():$givenAgent; switch($role->getRoleId()) { case RoleConstant::ADMIN_TECH : Loading Loading @@ -101,12 +101,15 @@ class DemandeExterneAssertion extends AbstractAssertion { /** @var DemandeExterne|null $entity */ $demandeId = (($this->getMvcEvent()->getRouteMatch()->getParam('demande-externe'))); $entity = $this->getDemandeExterneService()->getDemandeExterne($demandeId); /** @var Agent|null $entity */ $agentId = (($this->getMvcEvent()->getRouteMatch()->getParam('agent'))); $entityAgent = $this->getAgentService()->getAgent($agentId); switch($action) { case 'afficher' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AFFICHER); case 'ajouter' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER); return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER, $entityAgent); case 'modifier' : return $this->computeAssertion($entity, DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER); case 'historiser' : Loading
module/Formation/src/Formation/Controller/FormationInstanceInscritController.php +10 −1 Changes for module/Formation/src/Formation/Controller/FormationInstanceInscritController.php: 10 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ use Application\Service\Agent\AgentServiceAwareTrait; use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\FormationInstanceInscrit; use Formation\Form\Inscription\InscriptionFormAwareTrait; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Etat\InscriptionEtats; use Formation\Provider\Etat\SessionEtats; use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait; Loading Loading @@ -169,12 +170,18 @@ class FormationInstanceInscritController extends AbstractActionController $superieures = $this->getAgentService()->computeSuperieures($agent); $demandes = $this->getDemandeExterneService()->getDemandesExternesByAgent($agent); $demandes = array_filter($demandes, function (DemandeExterne $d) { return $d->estNonHistorise();}); $demandesNonValidees = array_filter($demandes, function (DemandeExterne $d) { return $d->getEtat()->getCode() === DemandeExterneEtats::ETAT_CREATION_EN_COURS; }); return new ViewModel([ 'instances' => $instances, 'inscriptions' => $inscriptions, 'formations' => $formations, 'agent' => $agent, 'demandes' => $demandesNonValidees, 'superieures' => $superieures, ]); } Loading @@ -192,6 +199,8 @@ class FormationInstanceInscritController extends AbstractActionController $demandes = $this->getDemandeExterneService()->getDemandesExternesByAgent($agent); $demandes = array_filter($demandes, function (DemandeExterne $d) { return $d->estNonHistorise();}); $demandesValidees = array_filter($demandes, function (DemandeExterne $d) { return $d->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS; }); $rendu = $this->getRenduService()->generateRenduByTemplateCode('PARCOURS_ENTREE_TEXTE', []); return new ViewModel([ 'instances' => $instances, Loading @@ -199,7 +208,7 @@ class FormationInstanceInscritController extends AbstractActionController 'formations' => $formations, 'agent' => $agent, 'texteParcours' => $rendu->getCorps(), 'demandes' => $demandes, 'demandes' => $demandesValidees, ]); } Loading
module/Formation/view/formation/demande-externe/afficher.phtml +2 −1 Changes for module/Formation/view/formation/demande-externe/afficher.phtml: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -11,7 +11,8 @@ use Formation\Provider\Validation\DemandeExterneValidations; * @var Agent $agent; */ $canValiderDrh = $this->isAllowed(DemandeexternePrivileges::getResourceId(DemandeexternePrivileges::DEMANDEEXTERNE_VALIDER_DRH)); $canValiderDrh = $this->isAllowed($demande,DemandeexternePrivileges::DEMANDEEXTERNE_VALIDER_DRH); ?> Loading
module/Formation/view/formation/formation-instance-inscrit/inscription-formation.phtml +3 −1 Changes for module/Formation/view/formation/formation-instance-inscrit/inscription-formation.phtml: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,11 +4,13 @@ * @see \Formation\Controller\FormationInstanceInscritController::inscriptionFormationAction() * @var FormationInstance[] $instances * @var FormationInstanceInscrit[] $inscriptions * @var DemandeExterne[] $demandes * @var Agent $agent * @var array $superieures */ use Application\Entity\Db\Agent; use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\FormationInstance; use Formation\Entity\Db\FormationInstanceInscrit; Loading Loading @@ -54,7 +56,7 @@ if (!empty($superieures)) { <!-- Mission-------------------------------------------------------------------------------------------> <div id="demandes" class="tab-pane"> <?php echo $this->partial('partial/demandes-externes', ['agent' => $agent]); ?> <?php echo $this->partial('partial/demandes-externes', ['agent' => $agent, 'demandes' => $demandes]); ?> </div> </div> Loading
module/Formation/view/formation/formation-instance-inscrit/partial/demandes-externes.phtml +56 −2 Changes for module/Formation/view/formation/formation-instance-inscrit/partial/demandes-externes.phtml: 56 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -2,9 +2,12 @@ /** * @var Agent $agent * @var DemandeExterne[] $demandes */ use Application\Entity\Db\Agent; use Formation\Entity\Db\DemandeExterne; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Privilege\DemandeexternePrivileges; $canAjouterDemande = $this->isAllowed(DemandeexternePrivileges::getResourceId(DemandeexternePrivileges::DEMANDEEXTERNE_AJOUTER)); Loading @@ -15,10 +18,11 @@ $canAjouterDemande = $this->isAllowed(DemandeexternePrivileges::getResource S'inscire à un stage hors du plan de formation </h2> <div> <div class="row"> <div class="col-md-7"> Afin de réaliser une demande de formation hors plan de formation, vous devez trouver au <em>moins trois</em> organismes et déposer les devis. </div> <div class="col-md-5"> <?php /** @see \Formation\Controller\DemandeExterneController::ajouterAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/ajouter', ['agent' => $agent->getId()], [], true); ?>" class="btn btn-primary ajax-modal <?php if (!$canAjouterDemande) echo " disabled "; ?> " data-event="modification" Loading @@ -26,3 +30,53 @@ $canAjouterDemande = $this->isAllowed(DemandeexternePrivileges::getResource <span class="icon icon-ajouter"></span> Je remplis le formulaire </a> </div> </div> <br/> <h2> Demandes que je n'ai pas encore validée </h2> <?php foreach($demandes as $demande) : ?> <div class="row"> <div class="col-md-7 description"> <?php echo $this->etatbadge($demande->getEtat()); ?> <?php echo $demande->getLibelle(); ?> (<?php echo $demande->getOrganisme(); ?>) <br/> <?php echo $demande->getLieu(); ?> ( du <?php echo $demande->getDebut()->format('d/m/Y'); ?> au <?php echo $demande->getFin()->format('d/m/Y'); ?>) <br/> Créée le <?php echo $demande->getHistoCreation()->format('d/m/Y à H:i'); ?> <br/> <br/> </div> <div class="col-md-5"> <?php $canModifierDemande = $this->isAllowed($demande, DemandeexternePrivileges::DEMANDEEXTERNE_MODIFIER); $canValiderAgentDemande = $this->isAllowed($demande, DemandeexternePrivileges::DEMANDEEXTERNE_VALIDER_AGENT); $canHistoriserDemande = $this->isAllowed($demande, DemandeexternePrivileges::DEMANDEEXTERNE_HISTORISER); ?> <?php /** @see \Formation\Controller\DemandeExterneController::validerAgentAction() */?> <a href="<?php echo $this->url('formation/demande-externe/valider-agent', ['demande-externe' => $demande->getId()], [], true); ?>" class="btn btn-success ajax-modal <?php if (!$canValiderAgentDemande) echo " disabled "; ?> " data-event="modification"> <span class="icon icon-valider"></span> Valider la demande (Agent) </a> <?php /** @see \Formation\Controller\DemandeExterneController::modifierAction() */?> <a href="<?php echo $this->url('formation/demande-externe/modifier', ['demande-externe' => $demande->getId()], [], true); ?>" class="btn btn-primary ajax-modal <?php if (!$canModifierDemande) echo " disabled "; ?> " data-event="modification"> <span class="icon icon-modifier"></span> Modifier la demande </a> <?php /** @see \Formation\Controller\DemandeExterneController::historiserAction() */?> <a href="<?php echo $this->url('formation/demande-externe/historiser', ['demande-externe' => $demande->getId()], [], true); ?>" class="btn btn-danger <?php if (!$canHistoriserDemande) echo " disabled "; ?> "> <span class="icon icon-historiser"></span> Supprimer la demande </a> <br/> <br/> </div> </div> <?php endforeach; ?>