Commit 60adf9b1 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

TheseRepository : suppression de méthodes abandonnées.

parent 4bf4238c
Loading
Loading
Loading
Loading
+0 −88
Changes for module/These/src/These/Entity/Db/Repository/TheseRepository.php: 0 added lines, 88 removed lines.
Original line number Diff line number Diff line
@@ -8,10 +8,7 @@ use Application\ORM\Query\Functions\Year;
use Doctorant\Entity\Db\Doctorant;
use Doctrine\ORM\Query\Expr\Join;
use Individu\Entity\Db\Individu;
use Structure\Entity\Db\EcoleDoctorale;
use Structure\Entity\Db\Etablissement;
use Structure\Entity\Db\StructureConcreteInterface;
use Structure\Entity\Db\UniteRecherche;
use These\Entity\Db\These;
use These\QueryBuilder\TheseQueryBuilder;

@@ -93,31 +90,6 @@ class TheseRepository extends DefaultEntityRepository
        return $results;
    }

    /**
     * @param Etablissement|null $etablissement
     * @return string[]
     */
    public function fetchDistinctDisciplines(Etablissement $etablissement = null)
    {
        $qb = $this->createQueryBuilder('t');
        $qb
            ->distinct()
            ->select("t.libelleDiscipline")
            ->orderBy("t.libelleDiscipline");

        if ($etablissement !== null) {
            $qb
                ->join('t.etablissement', 'etab', Join::WITH, 'etab = :etablissement')
                ->setParameter('etablissement', $etablissement);
        }

        $results = array_map(function($value) {
            return current($value);
        }, $qb->getQuery()->getScalarResult());

        return $results;
    }

    /**
     * @param Doctorant $doctorant
     * @param string[] $etats
@@ -169,29 +141,6 @@ class TheseRepository extends DefaultEntityRepository
        return $qb->getQuery()->getResult();
    }

    /**
     * @param Individu $individu
     * @param array $etats
     * @return These[]
     */
    public function fetchThesesByEncadrant(Individu $individu, array $etats = [These::ETAT_EN_COURS]): array
    {
        $qb = $this->createQueryBuilder('t')
            ->join('t.acteurs', 'a')
            ->join('a.role', 'r')
            ->andWhere('r.code = :directeur OR r.code = :codirecteur')
            ->setParameter('directeur', Role::CODE_DIRECTEUR_THESE)
            ->setParameter('codirecteur', Role::CODE_CODIRECTEUR_THESE)
            ->andWhereEtatIn($etats)
            ->andWhere('a.individu = :individu')
            ->setParameter('individu', $individu)
            ->andWhere('t.histoDestruction is null')
            ->orderBy('t.datePremiereInscription', 'ASC')
        ;

        return $qb->getQuery()->getResult();
    }

    /**
     * @param Individu $individu
     * @return These[]
@@ -212,41 +161,4 @@ class TheseRepository extends DefaultEntityRepository
        $result = $qb->getQuery()->getResult();
        return $result;
    }

    /**
     * @param EcoleDoctorale $structure
     * @param array $etats
     * @return These[]
     */
    public function findThesesForStructure(StructureConcreteInterface $structure, array $etats = [These::ETAT_EN_COURS]): array
    {
        $qb = $this->createQueryBuilder('t');

        switch (true) {
            case $structure instanceof UniteRecherche :
                $qb
                    ->join('t.uniteRecherche', 'ur')
                    ->andWhere('ur = :unite')
                    ->setParameter('unite', $structure);
                break;
            case $structure instanceof EcoleDoctorale :
                $qb
                    ->join('t.ecoleDoctorale', 'ed')
                    ->andWhere('ed = :ecole')
                    ->setParameter('ecole', $structure);
                break;
            case $structure instanceof Etablissement :
                $qb
                    ->join('t.etablissement', 'e')
                    ->andWhere('e = :etablissement')
                    ->setParameter('etablissement', $structure);
                break;
            default:
                break;
        }

        $qb->andWhereEtatIn($etats);

        return $qb->getQuery()->getResult();
    }
}
 No newline at end of file