src/Controller/IndexController.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\AnneeAcademiqueRepository;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\HttpKernel\Attribute\AsController;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. #[AsController]
  10. class IndexController extends AbstractController
  11. {
  12.     public function __construct(
  13.         private AnneeAcademiqueRepository $anneeAcademiqueRepository
  14.     ) {
  15.     }
  16.     #[Route('/'name'app_index')]
  17.     public function index(Request $request,
  18.         ): Response
  19.     {
  20.         /** @var \App\Entity\User $user */
  21.         $user $this->getUser();
  22.         if($user == null) {
  23.             return $this->redirectToRoute('app_login');
  24.         }
  25.         if(!$user->isVerified()) {
  26.             return $this->redirectToRoute('app_logout');
  27.         }
  28.         $session $request->getSession();
  29.         if($session->get('annee'null) == null) {
  30.             $anneeEncoursList $this->anneeAcademiqueRepository->getAnneeAcademiqueByEnCours();
  31.             $session->set('annee'$anneeEncoursList);    
  32.         }
  33.        
  34.         if($user->getProfil() == 'Etudiant') {
  35.             return $this->redirectToRoute('etudiant_cours_and_support');
  36.         }
  37.         if($user->getProfil() == 'Professeur') {
  38.             return $this->redirectToRoute('afficher_note', [
  39.                 'idMatiere' => 0,
  40.                 'idFiliere' => 0,
  41.                 'idNiveauEtude' => 0,
  42.                 'idPeriodeAcademique' => 0
  43.             ]);
  44.         }
  45.         return $this->redirectToRoute('tableau_bord_statistique');
  46.     }
  47.      /**
  48.      * @Route("/choisir-annee", name="choisir_annee_index", methods={"GET","POST"})
  49.      */
  50.     public function choisirAnnee(Request $request): Response
  51.     {
  52.         if($request->getMethod() == 'POST') {
  53.             // dump($_POST['anneeChoice']);
  54.             $anneeChoice $_POST['anneeChoice'];
  55.             if($anneeChoice) {
  56.                 $session $request->getSession();
  57.                 $session->set('annee'$this->anneeAcademiqueRepository->find($anneeChoice));
  58.             }
  59.             return $this->redirectToRoute('app_index');
  60.         }
  61.         return $this->render('annee_academique/choisir.html.twig'
  62.             ['annee_academiques' => $this->anneeAcademiqueRepository->findBy(array('rowstatus'=>false))
  63.         ]);
  64.     }
  65. }