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

Amélioration du décorateur

parent a70ec1af
Loading
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -83,17 +83,17 @@ trait HasEtatsTrait {
        return $qb;
    }

    static public function decorateWithEtatsCodes(QueryBuilder $qb, string $entityName,  array $etats = []) : QueryBuilder
    static public function decorateWithEtatsCodes(QueryBuilder $qb, string $entityName,  array $etats = [], string $paramsName = 'etat_') : QueryBuilder
    {
        $qb = $qb
            ->leftJoin($entityName . '.etats', 'decorateurEtat')->addSelect('decorateurEtat')
            ->leftJoin('decorateurEtat.type', 'decorateurEtatType')->addSelect('decorateurEtatType')
            ->andWhere('decorateurEtat.histoDestruction IS NULL')
            ->leftJoin($entityName . '.etats', $paramsName.'decorateurEtat')->addSelect($paramsName.'decorateurEtat')
            ->leftJoin($paramsName.'decorateurEtat.type', $paramsName.'decorateurType')->addSelect($paramsName.'decorateurType')
            ->andWhere($paramsName.'decorateurEtat.histoDestruction IS NULL')
        ;

        if (!empty($etats)) {
            $qb = $qb->andWhere('decorateurEtatType.code in (:etats)')
                ->setParameter('etats', $etats);
            $qb = $qb->andWhere($paramsName.'decorateurType.code in (:'.$paramsName.'etats)')
                ->setParameter($paramsName.'etats', $etats);
        }
        return $qb;
    }