Commit 898c3000 authored by Thomas Hamel's avatar Thomas Hamel
Browse files

modification du tri pour l'affichage des sessions/formations en fonction des...

modification du tri pour l'affichage des sessions/formations en fonction des séances les plus proches de la date du jour
parent 3d829c1d
Loading
Loading
Loading
Loading
+6 −3
Changes for module/Formation/src/Formation/Service/Formation/Search/FormationSearchService.php: 6 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -68,9 +68,12 @@ class FormationSearchService extends SearchService
            $this->createModaliteSorter(),
        ]);

        //tri descendant par les dates des séances (lorsqu'aucun sorter n'est sélectionné)
        $this->addInvisibleSort('CASE WHEN seance.fin IS NULL THEN 1 ELSE 0 END', 'ASC');
        $this->addInvisibleSort('seance.debut', 'DESC');
        //tri affichant des formations affichées

        //si la date des séances sont toutes passées, on affiche la formation à la fin de la liste
        $this->addInvisibleSort("CASE WHEN seance.debut >= CURRENT_DATE() THEN 0 ELSE 1 END", 'ASC');
        //tri ascendant par date de séance la plus proche de la date du jour
        $this->addInvisibleSort('ABS(DATE_DIFF(CURRENT_DATE(), seance.debut))', 'ASC');
    }

    public function createQueryBuilder(): QueryBuilder
+6 −3
Changes for module/Formation/src/Formation/Service/Session/Search/SessionSearchService.php: 6 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -87,9 +87,12 @@ class SessionSearchService extends SearchService
            $this->createModaliteSorter(),
        ]);

        //tri descendant par les dates des séances (lorsqu'aucun sorter n'est sélectionné)
        $this->addInvisibleSort('CASE WHEN seance.fin IS NULL THEN 1 ELSE 0 END', 'ASC');
        $this->addInvisibleSort('seance.debut', 'DESC');
        //tri affichant des sessions affichées

        //si la date de la séance est passée, on l'affiche à la fin de la liste
        $this->addInvisibleSort("CASE WHEN seance.debut >= CURRENT_DATE() THEN 0 ELSE 1 END", 'ASC');
        //tri ascendant par date de séance la plus proche de la date du jour
        $this->addInvisibleSort('ABS(DATE_DIFF(CURRENT_DATE(), seance.debut))', 'ASC');
    }

    public function createQueryBuilder(): QueryBuilder