Loading documentation/release/3.1.5.md +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ * [FIX] correction de la route de retour lors de l'abonnement/désabonnement à une formation * [Formation] Ajout d'un bouton pour changer l'état vers un état donné sans respecter le circuit * [Structure] Retrait de la nommination manuelle des responsables et gestionnaires (on se fie plus qu'au référentiel) * [Structure] Retrait des onglets de formations maintenant délégué à mes-formations/GeFor/... **Modifications de la base de donnée** Loading module/Structure/src/Structure/Controller/StructureController.php +0 −17 Original line number Diff line number Diff line Loading @@ -18,9 +18,6 @@ use DateTime; use EntretienProfessionnel\Service\Campagne\CampagneServiceAwareTrait; use EntretienProfessionnel\Service\Delegue\DelegueServiceAwareTrait; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelServiceAwareTrait; use Formation\Entity\Db\Formation; use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait; use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritServiceAwareTrait; use Laminas\Http\Request; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; Loading @@ -39,11 +36,9 @@ use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; class StructureController extends AbstractActionController { use AgentServiceAwareTrait; use AgentMissionSpecifiqueServiceAwareTrait; use DemandeExterneServiceAwareTrait; use EtatServiceAwareTrait; use FichePosteServiceAwareTrait; use FicheProfilServiceAwareTrait; use FormationInstanceInscritServiceAwareTrait; use StructureServiceAwareTrait; use StructureAgentForceServiceAwareTrait; use SpecificitePosteServiceAwareTrait; Loading Loading @@ -129,12 +124,6 @@ class StructureController extends AbstractActionController { $fichespostes_pdf = $this->getAgentService()->getFichesPostesPdfByAgents($allAgents); //formations $demandesNonValidees = $this->getDemandeExterneService()->getDemandesExternesNonValideesByAgents($allAgents, Formation::getAnnee()); $demandesValidees = $this->getDemandeExterneService()->getDemandesExternesValideesByAgents($allAgents, Formation::getAnnee()); $inscriptionsNonValidees = $this->getFormationInstanceInscritService()->getInscriptionsNonValideesByAgents($allAgents, Formation::getAnnee()); $inscriptionsValidees = $this->getFormationInstanceInscritService()->getInscriptionsValideesByAgents($allAgents, Formation::getAnnee()); return new ViewModel([ 'selecteur' => $selecteur, Loading @@ -161,12 +150,6 @@ class StructureController extends AbstractActionController { 'entretiensArray' => $entretiensArray, 'delegues' => $delegues, //formations 'demandesNonValidees' => $demandesNonValidees, 'demandesValidees' => $demandesValidees, 'inscriptionsNonValidees' => $inscriptionsNonValidees, 'inscriptionsValidees' => $inscriptionsValidees, // - Fiches de recrutement - // // 'fichesRecrutements' => $fichesRecrutements, // 'profils' => $profils, Loading module/Structure/src/Structure/Controller/StructureControllerFactory.php +0 −8 Original line number Diff line number Diff line Loading @@ -14,8 +14,6 @@ use Application\Service\SpecificitePoste\SpecificitePosteService; use EntretienProfessionnel\Service\Campagne\CampagneService; use EntretienProfessionnel\Service\Delegue\DelegueService; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelService; use Formation\Service\DemandeExterne\DemandeExterneService; use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; Loading @@ -42,10 +40,8 @@ class StructureControllerFactory { * @var CampagneService $campagneService * @var EtatService $etatService * @var DelegueService $delegueService * @var DemandeExterneService $demandeService * @var FichePosteService $fichePosteService * @var FicheProfilService $ficheProfilService * @var FormationInstanceInscritService $formationInstanceInscritService * @var SpecificitePosteService $specificiteService * @var StructureService $structureService * @var StructureAgentForceService $structureAgentForceService Loading @@ -58,11 +54,9 @@ class StructureControllerFactory { $entretienService = $container->get(EntretienProfessionnelService::class); $campagneService = $container->get(CampagneService::class); $etatService = $container->get(EtatService::class); $demandeService = $container->get(DemandeExterneService::class); $delegueService = $container->get(DelegueService::class); $fichePosteService = $container->get(FichePosteService::class); $ficheProfilService = $container->get(FicheProfilService::class); $formationInstanceInscritService = $container->get(FormationInstanceInscritService::class); $specificiteService = $container->get(SpecificitePosteService::class); $structureService = $container->get(StructureService::class); $structureAgentForceService = $container->get(StructureAgentForceService::class); Loading Loading @@ -90,10 +84,8 @@ class StructureControllerFactory { $controller->setCampagneService($campagneService); $controller->setEtatService($etatService); $controller->setDelegueService($delegueService); $controller->setDemandeExterneService($demandeService); $controller->setFichePosteService($fichePosteService); $controller->setFicheProfilService($ficheProfilService); $controller->setFormationInstanceInscritService($formationInstanceInscritService); $controller->setSpecificitePosteService($specificiteService); $controller->setStructureService($structureService); $controller->setStructureAgentForceService($structureAgentForceService); Loading module/Structure/view/structure/structure/afficher.phtml +0 −28 Original line number Diff line number Diff line Loading @@ -29,11 +29,6 @@ * @var EntretienProfessionnel[] $entretiensArray * @var Delegue[] $delegues * * // FORMATION /////////////////////////// * @var DemandeExterne[] $demandesNonValidees * @var DemandeExterne[] $demandesValidees * @var FormationInstanceInscrit[] $inscriptionsNonValidees * @var FormationInstanceInscrit[] $inscriptionsValidees */ use Application\Entity\Db\Agent; Loading @@ -42,8 +37,6 @@ use Application\Entity\Db\FichePoste; use EntretienProfessionnel\Entity\Db\Campagne; use EntretienProfessionnel\Entity\Db\Delegue; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\FormationInstanceInscrit; use Structure\Entity\Db\Structure; use Structure\Entity\Db\StructureGestionnaire; use Structure\Entity\Db\StructureResponsable; Loading Loading @@ -139,18 +132,6 @@ $canAfficherStructure = $this->isAllowed($structure, StructurePrivileges::STRU <!-- </a>--> <!-- </li>--> <li class="nav-item"> <a href="#formation-demande" class="nav-link" aria-controls="formation-demande"> Demandes de <br/> formations </a> </li> <li class="nav-item"> <a href="#formation-liste" class="nav-link" aria-controls="formation-liste"> Listes des <br/> formations </a> </li> <li class="nav-item"> <a href="#extraction" class="nav-link" aria-controls="extraction"> Extractions <br/> Loading Loading @@ -224,15 +205,6 @@ $canAfficherStructure = $this->isAllowed($structure, StructurePrivileges::STRU <!-- --><?php //echo $this->partial('partial/profil', ['structure' => $structure, 'profils' => $profils, 'fichesRecrutements' => $fichesRecrutements]); ?> <!-- </div>--> <!-- Demande de formation -------------------------------> <div id="formation-demande" class="tab-pane"> <?php echo $this->partial('partial/demande-formation', ['inscriptions' => $inscriptionsNonValidees, 'demandes' => $demandesNonValidees]); ?> </div> <div id="formation-liste" class="tab-pane"> <?php echo $this->partial('partial/liste-formation', ['inscriptions' => $inscriptionsValidees, 'demandes' => $demandesValidees]); ?> </div> <!-- Extraction -------------------------------------------------------------------------------------> <div id="extraction" class="tab-pane"> <?php echo $this->partial('partial/extraction', ['structure' => $structure]); ?> Loading module/Structure/view/structure/structure/partial/demande-formation.phtmldeleted 100644 → 0 +0 −134 Original line number Diff line number Diff line <?php use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\Formation; use Formation\Entity\Db\FormationInstanceInscrit; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Etat\InscriptionEtats; use Formation\Provider\Privilege\DemandeexternePrivileges; use Formation\Provider\Privilege\FormationinstanceinscritPrivileges; /** * @var FormationInstanceInscrit[] $inscriptions * @var DemandeExterne[] $demandes */ $canValiderResponsable = $this->isAllowed(FormationinstanceinscritPrivileges::getResourceId(FormationinstanceinscritPrivileges::INSCRIPTION_VALIDER_SUPERIEURE)); $array = []; foreach ($inscriptions as $inscription) { if ($inscription->estNonHistorise()) { $formation = $inscription->getInstance()->getFormation(); $instance = $inscription->getInstance(); $array[$formation->getId()]["formation"] = $formation; $array[$formation->getId()]["instances"][$instance->getId()]['instance'] = $instance; $array[$formation->getId()]["instances"][$instance->getId()]['inscriptions'][] = $inscription; } } $attentes = []; foreach ($inscriptions as $inscription) { if ($inscription->estNonHistorise() AND $inscription->getEtat()->getCode() === InscriptionEtats::ETAT_DEMANDE) { $formation = $inscription->getInstance()->getFormation(); $instance = $inscription->getInstance(); $attentes[$formation->getId()]["formation"] = $formation; $attentes[$formation->getId()]["instances"][$instance->getId()]['instance'] = $instance; $attentes[$formation->getId()]["instances"][$instance->getId()]['inscriptions'][] = $inscription; } } $dictionnaryInscriptions = []; foreach ($inscriptions as $inscription) { $dictionnaryInscriptions[$inscription->getAgent()->getId()][] = $inscription; } usort($dictionnaryInscriptions, function ($a, $b) { /** @var FormationInstanceInscrit[] $a */ $aaa = $a[0]->getAgent()->getNomUsuel(). " " .$a[0]->getAgent()->getPrenom(); $bbb = $b[0]->getAgent()->getNomUsuel(). " " .$b[0]->getAgent()->getPrenom(); return $aaa > $bbb; } ); $dictionnaryDemandes = []; foreach ($demandes as $demande) { $dictionnaryDemandes[$demande->getAgent()->getId()][] = $demande; } usort($dictionnaryDemandes, function ($a, $b) { /** @var DemandeExterne[] $a */ $aaa = $a[0]->getAgent()->getNomUsuel(). " " .$a[0]->getAgent()->getPrenom(); $bbb = $b[0]->getAgent()->getNomUsuel(). " " .$b[0]->getAgent()->getPrenom(); return $aaa > $bbb; } ); ?> <h2> Demandes des formations en attente de validations <?php echo Formation::getAnnee(); ?>/<?php echo Formation::getAnnee()+1; ?> </h2> <div class="row"> <div class="col-md-6"> <h3> Formations du plan de formation </h3> <?php /** @var FormationInstanceInscrit[] $ds */ ?> <ul> <?php foreach ($dictionnaryInscriptions as $id => $ds) : ?> <?php //usort($ds, function (FormationInstanceInscrit $a, FormationInstanceInscrit $b) { return $a->getDebut() > $b->getDebut(); }); ?> <li> <?php echo $ds[0]->getAgent()->getDenomination(); ?> <?php foreach ($ds as $d) : ?> <br/> <?php echo $this->etatbadge($d->getEtat()); ?> <?php echo $d->getInstance()->getFormation()->getLibelle(); ?> (<?php echo $d->getInstance()->getPeriode(); ?>) <br/> <?php if ($canValiderResponsable ) : ?> <?php /** @see \Formation\Controller\FormationInstanceInscritController::validerResponsableAction() */ ?> <a href="<?php echo $this->url('formation-instance/valider-responsable', ['inscrit' => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-do text-success">Valider</span></a> <?php /** @see \Formation\Controller\FormationInstanceInscritController::refuserResponsableAction() */ ?> <a href="<?php echo $this->url('formation-instance/refuser-responsable', ['inscrit' => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-undo text-danger">Refuser</span></a> <?php endif; ?> <?php endforeach; ?> </li> <?php endforeach; ?> </ul> </div> <div class="col-md-6"> <h3>Demandes de stage externe</h3> <?php /** @var DemandeExterne[] $ds */ ?> <ul> <?php foreach ($dictionnaryDemandes as $id => $ds) : ?> <?php usort($ds, function (DemandeExterne $a, DemandeExterne $b) { return $a->getDebut() > $b->getDebut(); }); ?> <li> <?php echo $ds[0]->getAgent()->getDenomination(); ?> <?php foreach ($ds as $d) : ?> <?php $canDemandeAfficher = $this->isAllowed($d, DemandeexternePrivileges::DEMANDEEXTERNE_AFFICHER); ?> <br/> <?php echo $this->etatbadge($d->getEtat()); ?> <?php echo $d->getLibelle(); ?> (<?php echo $d->getPeriodeAsString(); ?>) <br> <?php if ($canDemandeAfficher ) : ?> <?php /** @see \Formation\Controller\DemandeExterneController::afficherAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/afficher', ['demande-externe' => $d->getId()], [], true); ?>" class="ajax-modal"> <span class="icon icon-voir"></span>Afficher</a> <?php endif; ?> <?php if ($d->getEtat()->getCode() === DemandeExterneEtats::ETAT_VALIDATION_AGENT) : ?> <?php if ($canValiderResponsable ) : ?> <?php /** @see \Formation\Controller\DemandeExterneController::validerResponsableAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/valider-responsable', ["demande-externe" => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-do text-success">Valider</span></a> <?php /** @see \Formation\Controller\DemandeExterneController::refuserResponsableAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/refuser-responsable', ["demande-externe" => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-undo text-danger">Refuser</span></a> <?php endif; ?> <?php endif; ?> <?php endforeach; ?> </li> <?php endforeach; ?> </ul> </div> </div> Loading
documentation/release/3.1.5.md +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ * [FIX] correction de la route de retour lors de l'abonnement/désabonnement à une formation * [Formation] Ajout d'un bouton pour changer l'état vers un état donné sans respecter le circuit * [Structure] Retrait de la nommination manuelle des responsables et gestionnaires (on se fie plus qu'au référentiel) * [Structure] Retrait des onglets de formations maintenant délégué à mes-formations/GeFor/... **Modifications de la base de donnée** Loading
module/Structure/src/Structure/Controller/StructureController.php +0 −17 Original line number Diff line number Diff line Loading @@ -18,9 +18,6 @@ use DateTime; use EntretienProfessionnel\Service\Campagne\CampagneServiceAwareTrait; use EntretienProfessionnel\Service\Delegue\DelegueServiceAwareTrait; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelServiceAwareTrait; use Formation\Entity\Db\Formation; use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait; use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritServiceAwareTrait; use Laminas\Http\Request; use Laminas\Http\Response; use Laminas\Mvc\Controller\AbstractActionController; Loading @@ -39,11 +36,9 @@ use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; class StructureController extends AbstractActionController { use AgentServiceAwareTrait; use AgentMissionSpecifiqueServiceAwareTrait; use DemandeExterneServiceAwareTrait; use EtatServiceAwareTrait; use FichePosteServiceAwareTrait; use FicheProfilServiceAwareTrait; use FormationInstanceInscritServiceAwareTrait; use StructureServiceAwareTrait; use StructureAgentForceServiceAwareTrait; use SpecificitePosteServiceAwareTrait; Loading Loading @@ -129,12 +124,6 @@ class StructureController extends AbstractActionController { $fichespostes_pdf = $this->getAgentService()->getFichesPostesPdfByAgents($allAgents); //formations $demandesNonValidees = $this->getDemandeExterneService()->getDemandesExternesNonValideesByAgents($allAgents, Formation::getAnnee()); $demandesValidees = $this->getDemandeExterneService()->getDemandesExternesValideesByAgents($allAgents, Formation::getAnnee()); $inscriptionsNonValidees = $this->getFormationInstanceInscritService()->getInscriptionsNonValideesByAgents($allAgents, Formation::getAnnee()); $inscriptionsValidees = $this->getFormationInstanceInscritService()->getInscriptionsValideesByAgents($allAgents, Formation::getAnnee()); return new ViewModel([ 'selecteur' => $selecteur, Loading @@ -161,12 +150,6 @@ class StructureController extends AbstractActionController { 'entretiensArray' => $entretiensArray, 'delegues' => $delegues, //formations 'demandesNonValidees' => $demandesNonValidees, 'demandesValidees' => $demandesValidees, 'inscriptionsNonValidees' => $inscriptionsNonValidees, 'inscriptionsValidees' => $inscriptionsValidees, // - Fiches de recrutement - // // 'fichesRecrutements' => $fichesRecrutements, // 'profils' => $profils, Loading
module/Structure/src/Structure/Controller/StructureControllerFactory.php +0 −8 Original line number Diff line number Diff line Loading @@ -14,8 +14,6 @@ use Application\Service\SpecificitePoste\SpecificitePosteService; use EntretienProfessionnel\Service\Campagne\CampagneService; use EntretienProfessionnel\Service\Delegue\DelegueService; use EntretienProfessionnel\Service\EntretienProfessionnel\EntretienProfessionnelService; use Formation\Service\DemandeExterne\DemandeExterneService; use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritService; use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; Loading @@ -42,10 +40,8 @@ class StructureControllerFactory { * @var CampagneService $campagneService * @var EtatService $etatService * @var DelegueService $delegueService * @var DemandeExterneService $demandeService * @var FichePosteService $fichePosteService * @var FicheProfilService $ficheProfilService * @var FormationInstanceInscritService $formationInstanceInscritService * @var SpecificitePosteService $specificiteService * @var StructureService $structureService * @var StructureAgentForceService $structureAgentForceService Loading @@ -58,11 +54,9 @@ class StructureControllerFactory { $entretienService = $container->get(EntretienProfessionnelService::class); $campagneService = $container->get(CampagneService::class); $etatService = $container->get(EtatService::class); $demandeService = $container->get(DemandeExterneService::class); $delegueService = $container->get(DelegueService::class); $fichePosteService = $container->get(FichePosteService::class); $ficheProfilService = $container->get(FicheProfilService::class); $formationInstanceInscritService = $container->get(FormationInstanceInscritService::class); $specificiteService = $container->get(SpecificitePosteService::class); $structureService = $container->get(StructureService::class); $structureAgentForceService = $container->get(StructureAgentForceService::class); Loading Loading @@ -90,10 +84,8 @@ class StructureControllerFactory { $controller->setCampagneService($campagneService); $controller->setEtatService($etatService); $controller->setDelegueService($delegueService); $controller->setDemandeExterneService($demandeService); $controller->setFichePosteService($fichePosteService); $controller->setFicheProfilService($ficheProfilService); $controller->setFormationInstanceInscritService($formationInstanceInscritService); $controller->setSpecificitePosteService($specificiteService); $controller->setStructureService($structureService); $controller->setStructureAgentForceService($structureAgentForceService); Loading
module/Structure/view/structure/structure/afficher.phtml +0 −28 Original line number Diff line number Diff line Loading @@ -29,11 +29,6 @@ * @var EntretienProfessionnel[] $entretiensArray * @var Delegue[] $delegues * * // FORMATION /////////////////////////// * @var DemandeExterne[] $demandesNonValidees * @var DemandeExterne[] $demandesValidees * @var FormationInstanceInscrit[] $inscriptionsNonValidees * @var FormationInstanceInscrit[] $inscriptionsValidees */ use Application\Entity\Db\Agent; Loading @@ -42,8 +37,6 @@ use Application\Entity\Db\FichePoste; use EntretienProfessionnel\Entity\Db\Campagne; use EntretienProfessionnel\Entity\Db\Delegue; use EntretienProfessionnel\Entity\Db\EntretienProfessionnel; use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\FormationInstanceInscrit; use Structure\Entity\Db\Structure; use Structure\Entity\Db\StructureGestionnaire; use Structure\Entity\Db\StructureResponsable; Loading Loading @@ -139,18 +132,6 @@ $canAfficherStructure = $this->isAllowed($structure, StructurePrivileges::STRU <!-- </a>--> <!-- </li>--> <li class="nav-item"> <a href="#formation-demande" class="nav-link" aria-controls="formation-demande"> Demandes de <br/> formations </a> </li> <li class="nav-item"> <a href="#formation-liste" class="nav-link" aria-controls="formation-liste"> Listes des <br/> formations </a> </li> <li class="nav-item"> <a href="#extraction" class="nav-link" aria-controls="extraction"> Extractions <br/> Loading Loading @@ -224,15 +205,6 @@ $canAfficherStructure = $this->isAllowed($structure, StructurePrivileges::STRU <!-- --><?php //echo $this->partial('partial/profil', ['structure' => $structure, 'profils' => $profils, 'fichesRecrutements' => $fichesRecrutements]); ?> <!-- </div>--> <!-- Demande de formation -------------------------------> <div id="formation-demande" class="tab-pane"> <?php echo $this->partial('partial/demande-formation', ['inscriptions' => $inscriptionsNonValidees, 'demandes' => $demandesNonValidees]); ?> </div> <div id="formation-liste" class="tab-pane"> <?php echo $this->partial('partial/liste-formation', ['inscriptions' => $inscriptionsValidees, 'demandes' => $demandesValidees]); ?> </div> <!-- Extraction -------------------------------------------------------------------------------------> <div id="extraction" class="tab-pane"> <?php echo $this->partial('partial/extraction', ['structure' => $structure]); ?> Loading
module/Structure/view/structure/structure/partial/demande-formation.phtmldeleted 100644 → 0 +0 −134 Original line number Diff line number Diff line <?php use Formation\Entity\Db\DemandeExterne; use Formation\Entity\Db\Formation; use Formation\Entity\Db\FormationInstanceInscrit; use Formation\Provider\Etat\DemandeExterneEtats; use Formation\Provider\Etat\InscriptionEtats; use Formation\Provider\Privilege\DemandeexternePrivileges; use Formation\Provider\Privilege\FormationinstanceinscritPrivileges; /** * @var FormationInstanceInscrit[] $inscriptions * @var DemandeExterne[] $demandes */ $canValiderResponsable = $this->isAllowed(FormationinstanceinscritPrivileges::getResourceId(FormationinstanceinscritPrivileges::INSCRIPTION_VALIDER_SUPERIEURE)); $array = []; foreach ($inscriptions as $inscription) { if ($inscription->estNonHistorise()) { $formation = $inscription->getInstance()->getFormation(); $instance = $inscription->getInstance(); $array[$formation->getId()]["formation"] = $formation; $array[$formation->getId()]["instances"][$instance->getId()]['instance'] = $instance; $array[$formation->getId()]["instances"][$instance->getId()]['inscriptions'][] = $inscription; } } $attentes = []; foreach ($inscriptions as $inscription) { if ($inscription->estNonHistorise() AND $inscription->getEtat()->getCode() === InscriptionEtats::ETAT_DEMANDE) { $formation = $inscription->getInstance()->getFormation(); $instance = $inscription->getInstance(); $attentes[$formation->getId()]["formation"] = $formation; $attentes[$formation->getId()]["instances"][$instance->getId()]['instance'] = $instance; $attentes[$formation->getId()]["instances"][$instance->getId()]['inscriptions'][] = $inscription; } } $dictionnaryInscriptions = []; foreach ($inscriptions as $inscription) { $dictionnaryInscriptions[$inscription->getAgent()->getId()][] = $inscription; } usort($dictionnaryInscriptions, function ($a, $b) { /** @var FormationInstanceInscrit[] $a */ $aaa = $a[0]->getAgent()->getNomUsuel(). " " .$a[0]->getAgent()->getPrenom(); $bbb = $b[0]->getAgent()->getNomUsuel(). " " .$b[0]->getAgent()->getPrenom(); return $aaa > $bbb; } ); $dictionnaryDemandes = []; foreach ($demandes as $demande) { $dictionnaryDemandes[$demande->getAgent()->getId()][] = $demande; } usort($dictionnaryDemandes, function ($a, $b) { /** @var DemandeExterne[] $a */ $aaa = $a[0]->getAgent()->getNomUsuel(). " " .$a[0]->getAgent()->getPrenom(); $bbb = $b[0]->getAgent()->getNomUsuel(). " " .$b[0]->getAgent()->getPrenom(); return $aaa > $bbb; } ); ?> <h2> Demandes des formations en attente de validations <?php echo Formation::getAnnee(); ?>/<?php echo Formation::getAnnee()+1; ?> </h2> <div class="row"> <div class="col-md-6"> <h3> Formations du plan de formation </h3> <?php /** @var FormationInstanceInscrit[] $ds */ ?> <ul> <?php foreach ($dictionnaryInscriptions as $id => $ds) : ?> <?php //usort($ds, function (FormationInstanceInscrit $a, FormationInstanceInscrit $b) { return $a->getDebut() > $b->getDebut(); }); ?> <li> <?php echo $ds[0]->getAgent()->getDenomination(); ?> <?php foreach ($ds as $d) : ?> <br/> <?php echo $this->etatbadge($d->getEtat()); ?> <?php echo $d->getInstance()->getFormation()->getLibelle(); ?> (<?php echo $d->getInstance()->getPeriode(); ?>) <br/> <?php if ($canValiderResponsable ) : ?> <?php /** @see \Formation\Controller\FormationInstanceInscritController::validerResponsableAction() */ ?> <a href="<?php echo $this->url('formation-instance/valider-responsable', ['inscrit' => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-do text-success">Valider</span></a> <?php /** @see \Formation\Controller\FormationInstanceInscritController::refuserResponsableAction() */ ?> <a href="<?php echo $this->url('formation-instance/refuser-responsable', ['inscrit' => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-undo text-danger">Refuser</span></a> <?php endif; ?> <?php endforeach; ?> </li> <?php endforeach; ?> </ul> </div> <div class="col-md-6"> <h3>Demandes de stage externe</h3> <?php /** @var DemandeExterne[] $ds */ ?> <ul> <?php foreach ($dictionnaryDemandes as $id => $ds) : ?> <?php usort($ds, function (DemandeExterne $a, DemandeExterne $b) { return $a->getDebut() > $b->getDebut(); }); ?> <li> <?php echo $ds[0]->getAgent()->getDenomination(); ?> <?php foreach ($ds as $d) : ?> <?php $canDemandeAfficher = $this->isAllowed($d, DemandeexternePrivileges::DEMANDEEXTERNE_AFFICHER); ?> <br/> <?php echo $this->etatbadge($d->getEtat()); ?> <?php echo $d->getLibelle(); ?> (<?php echo $d->getPeriodeAsString(); ?>) <br> <?php if ($canDemandeAfficher ) : ?> <?php /** @see \Formation\Controller\DemandeExterneController::afficherAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/afficher', ['demande-externe' => $d->getId()], [], true); ?>" class="ajax-modal"> <span class="icon icon-voir"></span>Afficher</a> <?php endif; ?> <?php if ($d->getEtat()->getCode() === DemandeExterneEtats::ETAT_VALIDATION_AGENT) : ?> <?php if ($canValiderResponsable ) : ?> <?php /** @see \Formation\Controller\DemandeExterneController::validerResponsableAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/valider-responsable', ["demande-externe" => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-do text-success">Valider</span></a> <?php /** @see \Formation\Controller\DemandeExterneController::refuserResponsableAction() */ ?> <a href="<?php echo $this->url('formation/demande-externe/refuser-responsable', ["demande-externe" => $d->getId()], [], true); ?>" class="ajax-modal" data-event="modification"> <span class="icon validation-undo text-danger">Refuser</span></a> <?php endif; ?> <?php endif; ?> <?php endforeach; ?> </li> <?php endforeach; ?> </ul> </div> </div>