Commit bcc83c0e authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Filtrer pour les agents sans obligation de EP

parent 6181ff76
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -10,10 +10,12 @@ use Laminas\Http\Request;
use Laminas\Http\Response;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\ViewModel;
use UnicaenEtat\Form\EtatFieldset\EtatFieldset;
use UnicaenEtat\Service\EtatCategorie\EtatCategorieServiceAwareTrait;
use UnicaenEtat\Service\EtatType\EtatTypeServiceAwareTrait;

class AgentAccompagnementController extends AbstractActionController {
class AgentAccompagnementController extends AbstractActionController
{
    use AgentServiceAwareTrait;
    use AgentAccompagnementServiceAwareTrait;
    use EtatCategorieServiceAwareTrait;
@@ -33,7 +35,10 @@ class AgentAccompagnementController extends AbstractActionController {

        $categorie = $this->getEtatCategorieService()->getEtatCategorieByCode('ACCOMPAGNEMENT');
        $types = $this->getEtatTypeService()->getEtatsTypesByCategorie($categorie);
        $form->get('etat')->resetEtats($types);

        /** @var EtatFieldset $selectEtat */
        $selectEtat = $form->get('etat');
        $selectEtat->resetEtats($types);

        $request = $this->getRequest();
        if ($request->isPost()) {
@@ -63,7 +68,9 @@ class AgentAccompagnementController extends AbstractActionController {

        $categorie = $this->getEtatCategorieService()->getEtatCategorieByCode('ACCOMPAGNEMENT');
        $types = $this->getEtatTypeService()->getEtatsTypesByCategorie($categorie);
        $form->get('etat')->resetEtats($types);
        /** @var EtatFieldset $selectEtat */
        $selectEtat = $form->get('etat');
        $selectEtat->resetEtats($types);


        $request = $this->getRequest();
+0 −2
Original line number Diff line number Diff line
@@ -15,8 +15,6 @@ class AgentAccompagnementControllerFactory
{

    /**
     * @param ContainerInterface $container
     * @return AgentAccompagnementController
     * @throws ContainerExceptionInterface
     * @throws NotFoundExceptionInterface
     */
+3 −12
Original line number Diff line number Diff line
@@ -4,25 +4,16 @@ namespace Application\Service\Agent;

trait AgentServiceAwareTrait {

    /** @var AgentService */
    private $agentService;
    private ?AgentService $agentService = null;

    /**
     * @return AgentService
     */
    public function getAgentService()
    public function getAgentService(): AgentService
    {
        return $this->agentService;
    }

    /**
     * @param AgentService $agentService
     * @return AgentService
     */
    public function setAgentService($agentService)
    public function setAgentService(AgentService $agentService): void
    {
        $this->agentService = $agentService;
        return $this->agentService;
    }

}
 No newline at end of file
+14 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace EntretienProfessionnel\Controller;

use Application\Service\Agent\AgentServiceAwareTrait;
use EntretienProfessionnel\Entity\Db\AgentForceSansObligation;
use EntretienProfessionnel\Form\AgentForceSansObligation\AgentForceSansObligationFormAwareTrait;
use EntretienProfessionnel\Service\AgentForceSansObligation\AgentForceSansObligationServiceAwareTrait;
@@ -16,15 +17,28 @@ class AgentForceSansObligationController extends AbstractActionController
{
    use AgentForceSansObligationServiceAwareTrait;
    use AgentForceSansObligationFormAwareTrait;
    use AgentServiceAwareTrait;
    use CampagneServiceAwareTrait;

    public function indexAction(): ViewModel
    {
        $agentsForcesSansObligation = $this->getAgentForceSansObligationService()->getAgentsForcesSansObligation('id', 'ASC', true);
        $campagnes = $this->getCampagneService()->getCampagnes();

        $campagne = $this->getCampagneService()->getCampagne((int) $this->params()->fromQuery('campagne'));
        if ($campagne) $agentsForcesSansObligation = array_filter($agentsForcesSansObligation, function (AgentForceSansObligation $a) use ($campagne) { return $a->getCampagne() === $campagne;});
        $agent = null;
        if ($agentArray = $this->params()->fromQuery('agent')) {
            $agent = $this->getAgentService()->getAgent($agentArray);
        }
        if ($agent) $agentsForcesSansObligation = array_filter($agentsForcesSansObligation, function (AgentForceSansObligation $a) use ($agent) { return $a->getAgent() === $agent;});

        return new ViewModel([
            'agentsForcesSansObligation' => $agentsForcesSansObligation,
            'campagnes' => $campagnes,

            'agent' => $agent,
            'campagne' => $campagne,
        ]);
    }

+4 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace EntretienProfessionnel\Controller;

use Application\Service\Agent\AgentService;
use EntretienProfessionnel\Form\AgentForceSansObligation\AgentForceSansObligationForm;
use EntretienProfessionnel\Service\AgentForceSansObligation\AgentForceSansObligationService;
use EntretienProfessionnel\Service\Campagne\CampagneService;
@@ -18,15 +19,18 @@ class AgentForceSansObligationControllerFactory
    public function __invoke(ContainerInterface $container): AgentForceSansObligationController
    {
        /**
         * @var AgentService $agentService
         * @var AgentForceSansObligationService $agentForceSansObligationService
         * @var CampagneService $campagneService
         * @var AgentForceSansObligationForm $agentForceSansObligationForm
         */
        $agentService = $container->get(AgentService::class);
        $agentForceSansObligationService = $container->get(AgentForceSansObligationService::class);
        $campagneService = $container->get(CampagneService::class);
        $agentForceSansObligationForm = $container->get('FormElementManager')->get(AgentForceSansObligationForm::class);

        $controller = new AgentForceSansObligationController();
        $controller->setAgentService($agentService);
        $controller->setAgentForceSansObligationService($agentForceSansObligationService);
        $controller->setCampagneService($campagneService);
        $controller->setAgentForceSansObligationForm($agentForceSansObligationForm);
Loading