diff --git a/module/DemandeExterne/src/Controller/DemandeExterneController.php b/module/DemandeExterne/src/Controller/DemandeExterneController.php index 1c7b7947acf1292472b911fd9270785c533c9c72..951215f4b3edc29e91d4221c5343d50160fda4ec 100644 --- a/module/DemandeExterne/src/Controller/DemandeExterneController.php +++ b/module/DemandeExterne/src/Controller/DemandeExterneController.php @@ -61,9 +61,9 @@ class DemandeExterneController extends AbstractActionController use SelectionGestionnaireFormAwareTrait; use UploadFormAwareTrait; - public function indexAction(): ViewModel + + public function traiterParamsFromQueries(array $fromQueries, array $etatsListe): array { - $fromQueries = $this->params()->fromQuery(); $params = [ 'agent' => $this->getAgentService()->getAgent($fromQueries['agent-filtre']['id'] ?? null), 'organisme' => $fromQueries['organisme']['id'] ?? null, @@ -81,9 +81,17 @@ class DemandeExterneController extends AbstractActionController } } } else { - $params['etats'] = DemandeExterneEtats::ETATS_OUVERTS; + $params['etats'] = $etatsListe; $params['historise'] = 0; + $params['annee'] = (new DateTime())->format('Y'); } + return $params; + } + + public function indexAction(): ViewModel + { + + $params = $this->traiterParamsFromQueries($this->params()->fromQuery(), DemandeExterneEtats::ETATS_OUVERTS); $demandes = $this->getDemandeExterneService()->getDemandesExternesWithFiltre($params); $etats = $this->getEtatTypeService()->getEtatsTypesByCategorieCode(DemandeExterneEtats::TYPE); @@ -100,17 +108,9 @@ class DemandeExterneController extends AbstractActionController public function indexTransformationAction(): ViewModel { - $fromQueries = $this->params()->fromQuery(); - $params = [ - 'agent' => $this->getAgentService()->getAgent($fromQueries['agent-filtre']['id'] ?? null), - 'organisme' => $fromQueries['organisme']['id'] ?? null, - 'etat' => $this->getEtatTypeService()->getEtatType((isset($fromQueries['etat']) && trim($fromQueries['etat']) !== '') ? trim($fromQueries['etat']) : null), - 'historise' => $fromQueries['historise'] ?? null, - 'annee' => $fromQueries['annee'] ?? null, - ]; - $params['etats'] = [DemandeExterneEtats::ETAT_TERMINEE]; - + $params = $this->traiterParamsFromQueries($this->params()->fromQuery(), [DemandeExterneEtats::ETAT_TERMINEE]); $demandes = $this->getDemandeExterneService()->getDemandesExternesWithFiltre($params); + $demandes = array_filter($demandes, function (DemandeExterne $demande) { return $demande->getInscription() === null;}); $etats = [$this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_TERMINEE)]; @@ -123,6 +123,33 @@ class DemandeExterneController extends AbstractActionController ]); } + public function parapheurAction(): ViewModel + { + $plafond1 = $this->getParametreService()->getValeurForParametre(DemandeExterneParametres::TYPE, DemandeExterneParametres::PLAFOND_DRH); + $plafond2 = $this->getParametreService()->getValeurForParametre(DemandeExterneParametres::TYPE, DemandeExterneParametres::PLAFOND_DGS); + + $etats = [ + $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_GESTIONNAIRE,DemandeExterneEtats::TYPE), + $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_RESPONSABLE,DemandeExterneEtats::TYPE), + $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_DRH,DemandeExterneEtats::TYPE), + $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_DGS,DemandeExterneEtats::TYPE), + ]; + + $params = $this->traiterParamsFromQueries($this->params()->fromQuery(), array_map(function (EtatType $etat) {return $etat->getCode();}, $etats)); + $demandes = $this->getDemandeExterneService()->getDemandesExternesWithFiltre($params); + $gestionnaires = $this->getUserService()->getUtilisateursByRoleIdAsOptions(FormationRoles::GESTIONNAIRE_FORMATION); + return new ViewModel([ + 'plafond1' => $plafond1, + 'plafond2' => $plafond2, + 'demandes' => $demandes, + + 'etats' => $etats, + 'params' => $params, + 'gestionnaires' => $gestionnaires, + ]); + + } + public function afficherAction(): ViewModel { $demande = $this->getDemandeExterneService()->getRequestedDemandeExterne($this); @@ -691,54 +718,7 @@ class DemandeExterneController extends AbstractActionController } /** GESTION DES DEMANDES *************************************************************************/ - public function parapheurAction(): ViewModel - { - $plafond1 = $this->getParametreService()->getValeurForParametre(DemandeExterneParametres::TYPE, DemandeExterneParametres::PLAFOND_DRH); - $plafond2 = $this->getParametreService()->getValeurForParametre(DemandeExterneParametres::TYPE, DemandeExterneParametres::PLAFOND_DGS); - $etats = [ - $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_GESTIONNAIRE,DemandeExterneEtats::TYPE), - $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_RESPONSABLE,DemandeExterneEtats::TYPE), - $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_DRH,DemandeExterneEtats::TYPE), - $this->getEtatTypeService()->getEtatTypeByCode(DemandeExterneEtats::ETAT_VALIDATION_DGS,DemandeExterneEtats::TYPE), - ]; - - $fromQueries = $this->params()->fromQuery(); - $params = [ - 'agent' => $this->getAgentService()->getAgent($fromQueries['agent-filtre']['id'] ?? null), - 'organisme' => $fromQueries['organisme']['id'] ?? null, - 'etat' => $this->getEtatTypeService()->getEtatType((isset($fromQueries['etat']) && trim($fromQueries['etat']) !== '') ? trim($fromQueries['etat']) : null), - 'historise' => $fromQueries['historise'] ?? null, - 'annee' => $fromQueries['annee'] ?? null, - 'agent-filtre[id]' => $fromQueries['agent-filtre']['id']??null, - ]; - $liste = $this->getRequest()->getUri()->getQuery(); - if ($liste and $liste !== '') { - $liste = explode('&', $liste); - foreach ($liste as $item) { - [$key, $value] = explode('=', $item); - if ($key === "gestionnaires" or $key === "etats") { - $params[$key][] = $value; - } - } - } else { - $params['etats'] = array_map(function (EtatType $etat) {return $etat->getCode();}, $etats); - $params['historise'] = 0; - } - - $demandes = $this->getDemandeExterneService()->getDemandesExternesWithFiltre($params); - $gestionnaires = $this->getUserService()->getUtilisateursByRoleIdAsOptions(FormationRoles::GESTIONNAIRE_FORMATION); - return new ViewModel([ - 'plafond1' => $plafond1, - 'plafond2' => $plafond2, - 'demandes' => $demandes, - - 'etats' => $etats, - 'params' => $params, - 'gestionnaires' => $gestionnaires, - ]); - - } public function gererAction(): ViewModel { diff --git a/module/DemandeExterne/view/demande-externe/demande-externe/partial/filtre.phtml b/module/DemandeExterne/view/demande-externe/demande-externe/partial/filtre.phtml index 524673ca4ca6586b8aaf5ca8cba4af64663484a6..9d619dbb73e590f1f56e3a96cda78a06a0c52e0a 100644 --- a/module/DemandeExterne/view/demande-externe/demande-externe/partial/filtre.phtml +++ b/module/DemandeExterne/view/demande-externe/demande-externe/partial/filtre.phtml @@ -125,11 +125,11 @@ use UnicaenUtilisateur\Entity\Db\User; }); <?php if (isset($params['agent'])) :?> - $('input[name="agent-filtre[label]').val(" <?php echo $params['agent']->getDenomination(); ?> "); + $('input[name="agent-filtre[label]').val("<?php echo $params['agent']->getDenomination(); ?>"); $('input[name="agent-filtre[id]').val("<?php echo $params['agent']->getId(); ?>"); <?php endif; ?> <?php if (isset($params['organisme'])) :?> - $('input[name="organisme[label]').val(" <?php echo $params['organisme']; ?> "); + $('input[name="organisme[label]').val("<?php echo $params['organisme']; ?>"); $('input[name="organisme[id]').val("<?php echo $params['organisme']; ?>"); <?php endif; ?> <?php if (isset($params['etat'])) :?>