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

Histo entretien

parent 9e7cf8fe
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -264,6 +264,9 @@ class EntretienProfessionnelController extends AbstractActionController
    {
        $entretien = $this->getEntretienProfessionnelService()->getRequestedEntretienProfessionnel($this, 'entretien');
        $this->getEntretienProfessionnelService()->historise($entretien);

        $retour = $this->params()->fromQuery('retour');
        if ($retour) return $this->redirect()->toUrl($retour);
        return $this->redirect()->toRoute('entretien-professionnel', [], [], true);
    }

@@ -271,6 +274,9 @@ class EntretienProfessionnelController extends AbstractActionController
    {
        $entretien = $this->getEntretienProfessionnelService()->getRequestedEntretienProfessionnel($this, 'entretien');
        $this->getEntretienProfessionnelService()->restore($entretien);

        $retour = $this->params()->fromQuery('retour');
        if ($retour) return $this->redirect()->toUrl($retour);
        return $this->redirect()->toRoute('entretien-professionnel', [], [], true);
    }

+6 −6
Original line number Diff line number Diff line
@@ -257,16 +257,14 @@ class EntretienProfessionnelService {
        return $entretien;
    }

    /**
     * @param Agent $agent
     * @return array
     */
    public function getEntretiensProfessionnelsByAgent(Agent $agent)  : array
    /** @return EntretienProfessionnel[] */
    public function getEntretiensProfessionnelsByAgent(Agent $agent, bool $histo = false)  : array
    {
        $qb = $this->getEntityManager()->getRepository(EntretienProfessionnel::class)->createQueryBuilder('entretien')
            ->leftJoin('entretien.responsable', 'responsable')->addSelect('responsable')
            ->andWhere('entretien.agent = :agent')
            ->setParameter('agent', $agent);
        if ($histo === false) $qb = $qb->andWhere('entretien.histoDestruction IS NULL');

        $qb = EntretienProfessionnel::decorateWithEtat($qb, 'entretien');

@@ -491,7 +489,7 @@ class EntretienProfessionnelService {
     * @param array $agents
     * @return EntretienProfessionnel[] @desc [agentId => entretien]
     */
    public function getEntretienProfessionnelByCampagneAndAgents(?Campagne $campagne, array $agents) : array
    public function getEntretienProfessionnelByCampagneAndAgents(?Campagne $campagne, array $agents, bool $histo = false) : array
    {
        if ($campagne === null) return [];

@@ -499,6 +497,8 @@ class EntretienProfessionnelService {
            ->andWhere('entretien.campagne = :campagne')->setParameter('campagne', $campagne)
            ->andWhere('entretien.agent in (:agents)')->setParameter('agents', $agents)
        ;
        if ($histo === false) $qb = $qb->andWhere('entretien.histoDestruction IS NULL');

        $result = $qb->getQuery()->getResult();

        $dictionnaire = [];
+8 −2
Original line number Diff line number Diff line
@@ -202,13 +202,19 @@ if ($options['affichages'] AND $options['affichages']['width']) $width = $option
                <?php if ($entretien->estNonHistorise()) : ?>
                    <a
                        <?php /** @see \EntretienProfessionnel\Controller\EntretienProfessionnelController::historiserAction() */?>
                        href="<?php echo $this->url('entretien-professionnel/historiser', ['entretien' => $entretien->getId()], [], true); ?>"
                        href="<?php echo $this->url('entretien-professionnel/historiser',
                            ['entretien' => $entretien->getId()],
                            ['query' => ['retour' => $this->url(null,[],['force_canonical' => true], true)]],
                            true); ?>"
                    >
                        <span class="icon icon-historiser" title="Historiser le compte-rendu de l'entretien professionnel"></span></a>
                <?php else : ?>
                    <a
                        <?php /** @see \EntretienProfessionnel\Controller\EntretienProfessionnelController::restaurerAction() */?>
                        href="<?php echo $this->url('entretien-professionnel/restaurer', ['entretien' => $entretien->getId()], [], true); ?>"
                        href="<?php echo $this->url('entretien-professionnel/restaurer',
                            ['entretien' => $entretien->getId()],
                            ['query' => ['retour' => $this->url(null,[],['force_canonical' => true], true)]],
                            true); ?>"
                    >
                        <span class="icon icon-restaurer" title="Restaurer le compte-rendu de l'entretien professionnel"></span></a>
                <?php endif; ?>