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

Substitution Premier index

parent 6b502b3d
Loading
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ return [
                        'selection',
                        'creer',
                        'modifier',
                        'detruire',
                        'generate-source-input',
                    ],
                    'privileges' => EcoleDoctoralePrivileges::ECOLE_DOCT_CONSULTATION,
@@ -81,6 +82,17 @@ return [
                    ],
                ],
            ],
            'substitution-detruire' => [
                'type'          => Segment::class,
                'options'       => [
                    'route'    => '/substitution/detruire/:cible',
                    'defaults' => [
                        '__NAMESPACE__' => 'Application\Controller',
                        'controller'    => 'Substitution',
                        'action'        => 'detruire',
                    ],
                ],
            ],

        ],
    ],
+29 −22
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ namespace Application\Controller;

use Application\Entity\Db\Etablissement;
use Application\Entity\Db\Structure;
use Application\Entity\Db\StructureConcreteInterface;
use Application\Service\Etablissement\EtablissementServiceAwareTrait;
use Application\Service\Structure\StructureServiceAwareTrait;
use UnicaenApp\Exception\RuntimeException;
@@ -16,33 +17,34 @@ class SubstitutionController extends AbstractController

    public function indexAction()
    {
        $cibles = $this->structureService->findStructuresSubstitutions();
        $etablissements = $this->etablissementService->getEtablissements();

        $structuresSubstituees = $this->structureService->getStructuresSubstituees();
        $etablissementsSubstitues = [];
        $ecolesSubstituees = [];
        $unitesSubstituees = [];
        foreach($structuresSubstituees as $structureSubstituee) {
            /** @var StructureConcreteInterface $structureConcrete */
            $structureConcrete = $this->structureService->findStructureConcreteFromStructure($structureSubstituee);
            switch(true) {
                case $structureConcrete->getStructure()->getTypeStructure()->isEtablissement() :
                    $etablissementsSubstitues[] = $structureConcrete;
                break;
                case $structureConcrete->getStructure()->getTypeStructure()->isEcoleDoctorale() :
                    $ecolesSubstituees[] = $structureConcrete;
                break;
                case $structureConcrete->getStructure()->getTypeStructure()->isUniteRecherche() :
                    $unitesSubstituees[] = $structureConcrete;
                break;
            }
        }

        return new ViewModel([
            'cibles' => $cibles,
            'etablissements' => $etablissements,
              'etablissementsSubstitues' => $etablissementsSubstitues,
              'ecolesSubstituees' => $ecolesSubstituees,
              'unitesSubstituees' => $unitesSubstituees,
        ]);
    }

//    public function ajouterAction() {
//        $idCible = $this->params()->fromRoute('cible');
//        $idAjout = $this->params()->fromRoute('ajout');
//
//        $liste = $this->structure
//
//        $this->redirect()->toRoute('substitution-selection', ['cible' => $idCible]);
//    }
//
//    public function retirerAction() {
//        $idCible = $this->params()->fromRoute('cible');
//        $idAjout = $this->params()->fromRoute('ajout');
//
//        //HERE DO THE STUFF
//
//        $this->redirect()->toRoute('substitution-selection', ['cible' => $idCible]);
//    }

    public function creerAction()
    {
        $request = $this->getRequest();
@@ -124,6 +126,11 @@ class SubstitutionController extends AbstractController
        ]);
    }

    public function detruireAction()
    {
        return new ViewModel();
    }

    public function generateSourceInputAction() {
        $id = $this->params()->fromRoute('id');
        $etablissement = $this->etablissementService->findEtablissementByStructureId($id);
+7 −0
Original line number Diff line number Diff line
@@ -285,5 +285,12 @@ class StructureService extends BaseService
        return $structureConcrete;
    }

    public function getStructuresSubstituees()
    {
        $qb = $this->getEntityManager()->getRepository(Structure::class)->createQueryBuilder("s")
            ->andWhere("s.structuresSubstituees IS NOT EMPTY");

        $results = $qb->getQuery()->getResult();
        return $results;
    }
}
 No newline at end of file
+0 −1
Original line number Diff line number Diff line
SUBSTITUTION CREER
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
SUBSTITUTION DETRUIRE
NOT YET IMPLEMENTED
 No newline at end of file
Loading