From 921fc740ec1d85584cc9adb5a5345aefc934c330 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr> Date: Mon, 10 Mar 2025 11:22:56 +0100 Subject: [PATCH] Parapheur et fitlre --- .../Controller/DemandeExterneController.php | 19 +++++++++++-------- .../demande-externe/parapheur.phtml | 6 +++++- .../demande-externe/partial/filtre.phtml | 6 +++--- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/module/DemandeExterne/src/Controller/DemandeExterneController.php b/module/DemandeExterne/src/Controller/DemandeExterneController.php index c225b807..1c7b7947 100644 --- a/module/DemandeExterne/src/Controller/DemandeExterneController.php +++ b/module/DemandeExterne/src/Controller/DemandeExterneController.php @@ -14,17 +14,14 @@ use DemandeExterne\Form\DemandeExterne\DemandeExterneFormAwareTrait; use DemandeExterne\Provider\Etat\DemandeExterneEtats; use DemandeExterne\Provider\Parametre\DemandeExterneParametres; use DemandeExterne\Provider\Template\MailTemplates; -use DemandeExterne\Provider\Validation\DemandeExterneValidations; use DemandeExterne\Service\DemandeExterne\DemandeExterneServiceAwareTrait; use DemandeExterne\Service\Notification\NotificationServiceAwareTrait; use Fichier\Entity\Db\Fichier; use Fichier\Form\Upload\UploadFormAwareTrait; use Fichier\Service\Fichier\FichierServiceAwareTrait; use Fichier\Service\Nature\NatureServiceAwareTrait; -use Formation\Entity\Db\Formation; use Formation\Form\Justification\JustificationFormAwareTrait; use Formation\Form\SelectionGestionnaire\SelectionGestionnaireFormAwareTrait; -use Formation\Provider\Etat\InscriptionEtats; use Formation\Provider\FichierNature\FichierNature; use Formation\Provider\Role\FormationRoles; use Laminas\Form\Element\Select; @@ -34,6 +31,7 @@ use Laminas\Mvc\Controller\AbstractActionController; use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger; use Laminas\View\Model\JsonModel; use Laminas\View\Model\ViewModel; +use UnicaenEtat\Entity\Db\EtatType; use UnicaenEtat\Service\EtatInstance\EtatInstanceServiceAwareTrait; use UnicaenEtat\Service\EtatType\EtatTypeServiceAwareTrait; use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait; @@ -698,6 +696,13 @@ class DemandeExterneController extends AbstractActionController $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), @@ -705,6 +710,7 @@ class DemandeExterneController extends AbstractActionController '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 !== '') { @@ -716,20 +722,17 @@ class DemandeExterneController extends AbstractActionController } } } else { - $params['etats'] = DemandeExterneEtats::ETATS_OUVERTS; + $params['etats'] = array_map(function (EtatType $etat) {return $etat->getCode();}, $etats); $params['historise'] = 0; } - $demandes = $this->getDemandeExterneService()->getDemandesExternesParapheurs((new DateTime())->format('Y')); - - $etats = $this->getEtatTypeService()->getEtatsTypesByCategorieCode(DemandeExterneEtats::TYPE); + $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, diff --git a/module/DemandeExterne/view/demande-externe/demande-externe/parapheur.phtml b/module/DemandeExterne/view/demande-externe/demande-externe/parapheur.phtml index cb597b21..d7978305 100644 --- a/module/DemandeExterne/view/demande-externe/demande-externe/parapheur.phtml +++ b/module/DemandeExterne/view/demande-externe/demande-externe/parapheur.phtml @@ -4,11 +4,15 @@ use DemandeExterne\Entity\Db\DemandeExterne; use DemandeExterne\Provider\Etat\DemandeExterneEtats; use DemandeExterne\Provider\Privilege\DemandeexternePrivileges; use Fichier\Entity\Db\Fichier; +use UnicaenEtat\Entity\Db\EtatType; +use UnicaenUtilisateur\Entity\Db\User; /** * @see DemandeExterneController::parapheurAction() * @var DemandeExterne[] $demandes * @var array $params + * @var EtatType[] $etats + * @var User[] $gestionnaires */ $this->headTitle("Parapheur des formations en attentes"); @@ -35,7 +39,7 @@ $canTeleverserDevis = $canGerer; Demandes de formation externe </h2> -<?php //echo $this->partial('partial/filtre', ['etats' => $etats, 'params' => $params, 'gestionnaires' => $gestionnaires], [], true); ?> +<?php echo $this->partial('partial/filtre', ['etats' => $etats, 'params' => $params, 'gestionnaires' => $gestionnaires], [], true); ?> <table class="table table-condensed table-hover" id="demandes"> <thead> 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 90fbfb35..524673ca 100644 --- a/module/DemandeExterne/view/demande-externe/demande-externe/partial/filtre.phtml +++ b/module/DemandeExterne/view/demande-externe/demande-externe/partial/filtre.phtml @@ -40,8 +40,8 @@ use UnicaenUtilisateur\Entity\Db\User; <label for="annee">Année de la demande : </label> <select id="annee" name="annee" class="selectpicker"> <option value="">Peu importe</option> - <?php for ($annee = 2022 ; $annee <= Formation::getAnnee() ; $annee++) : ?> <!-- todo nope --> - <option value="<?php echo $annee; ?>"><?php echo $annee; ?>/<?php echo $annee+1; ?></option> + <?php for ($annee = Formation::getAnnee() ; $annee >=2022 ; $annee--) : ?> <!-- todo nope --> + <option value="<?php echo $annee; ?>"><?php echo $annee; ?></option> <?php endfor; ?> </select> </div> @@ -124,7 +124,7 @@ use UnicaenUtilisateur\Entity\Db\User; $('form#filter').submit(); }); -<?php if (isset($params['agent-filtre[id]'])) :?> +<?php if (isset($params['agent'])) :?> $('input[name="agent-filtre[label]').val(" <?php echo $params['agent']->getDenomination(); ?> "); $('input[name="agent-filtre[id]').val("<?php echo $params['agent']->getId(); ?>"); <?php endif; ?> -- GitLab