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

Amélioration de queries

parent db8b7286
Loading
Loading
Loading
Loading
Loading
+3 −0
Changes for module/Application/src/Application/Controller/RoleController.php: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -27,7 +27,10 @@ class RoleController extends AbstractController
        $categorie = $this->params()->fromQuery("categorie");

        $qb_depend = $this->entityManager->getRepository(Role::class)->createQueryBuilder("r");
//        $qb_depend = $qb_depend->select("r, s");
//        $qb_depend = $qb_depend->join("r.structure", "s");
        $qb_depend = $this->decorateWithDepend($qb_depend, $depend);
        $qb_depend = $qb_depend->orderBy("r.typeStructureDependant, r.libelle, r.structure", 'asc');
        $roles = $qb_depend->getQuery()->execute();
        $qb_categorie = $this->entityManager->getRepository(Privilege::class)->createQueryBuilder("p");
        $qb_categorie = $this->decorateWithCategorie($qb_categorie, $categorie);
+7 −7
Changes for module/Application/src/Application/Controller/StatistiqueController.php: 7 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -28,11 +28,11 @@ class StatistiqueController extends AbstractController
    {

        $qb = $this->theseService->getRepository()->createQueryBuilder("t");
        $qb = $qb
            ->select("t,d,i")
            ->join("t.doctorant", "d")
            ->join("d.individu", "i");

        //filtrer les thèses en fonction d'une structure
        // --> dans la table thèse on peut utiliser les champs ETABLISSEMENT_ID, ECOLE_DOCT_ID, et UNITE_RECH_ID
        //filtrer les thèses en fonction d'une période
        // --> utiliser les dates d'inscriptions ou de soutenances ?

        $structureType = $this->params()->fromQuery("structure_type");
        $structureId = $this->params()->fromQuery("structure_id");
@@ -61,17 +61,17 @@ class StatistiqueController extends AbstractController
            switch($type) {
                case "ED" :
                    $ecole = $this->ecoleDoctoraleService->getEcoleDoctoraleById($id);
                    var_dump($ecole->getLibelle());
//                    var_dump($ecole->getLibelle());
                    return  $qb->andWhere("t.ecoleDoctorale = :ed")
                                ->setParameter(":ed", $ecole);
                case "UR" :
                    $unite = $this->uniteRechercheService->getUniteRechercheById($id);
                    var_dump($unite->getLibelle());
//                    var_dump($unite->getLibelle());
                    return $qb->andWhere("t.uniteRecherche = :ur")
                                ->setParameter(":ur", $unite);
                case "Etab" :
                    $etablissement = $this->etablissementService->getEtablissementById($id);
                    var_dump($etablissement->getLibelle());
//                    var_dump($etablissement->getLibelle());
                    return $qb->andWhere("t.etablissement = :etab")
                                ->setParameter("etab", $etablissement);
            }
+4 −1
Changes for module/Application/view/application/role/index.phtml: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -46,7 +46,10 @@ foreach($privileges as $privilege) {
    foreach($roles as $role) {

        $id = "{$privilege->getId()}_{$role->getId()}";
        echo "<td class='droit' id='$id' title='{$id}'>";
        $code = ($role->getStructure() !== null) ? $role->getStructure()->getSigle() : " ";
        if ($code === null) $code = getCode($role, $etablissements);
        $title = "{$role->getLibelle()} - {$code} \n{$privilege->getLibelle()}";
        echo "<td class='droit' id='$id' title='{$title}'>";

        if( array_search($role, $privilege->getRole()->toArray()) !== false) {
            echo "<span class='glyphicon glyphicon-ok text-success'></span>";