<?php
namespace App\Controller;
use App\Repository\AnneeAcademiqueRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Attribute\AsController;
use Symfony\Component\Routing\Annotation\Route;
#[AsController]
class IndexController extends AbstractController
{
public function __construct(
private AnneeAcademiqueRepository $anneeAcademiqueRepository
) {
}
#[Route('/', name: 'app_index')]
public function index(Request $request,
): Response
{
/** @var \App\Entity\User $user */
$user = $this->getUser();
if($user == null) {
return $this->redirectToRoute('app_login');
}
if(!$user->isVerified()) {
return $this->redirectToRoute('app_logout');
}
$session = $request->getSession();
if($session->get('annee', null) == null) {
$anneeEncoursList = $this->anneeAcademiqueRepository->getAnneeAcademiqueByEnCours();
$session->set('annee', $anneeEncoursList);
}
if($user->getProfil() == 'Etudiant') {
return $this->redirectToRoute('etudiant_cours_and_support');
}
if($user->getProfil() == 'Professeur') {
return $this->redirectToRoute('afficher_note', [
'idMatiere' => 0,
'idFiliere' => 0,
'idNiveauEtude' => 0,
'idPeriodeAcademique' => 0
]);
}
return $this->redirectToRoute('tableau_bord_statistique');
}
/**
* @Route("/choisir-annee", name="choisir_annee_index", methods={"GET","POST"})
*/
public function choisirAnnee(Request $request): Response
{
if($request->getMethod() == 'POST') {
// dump($_POST['anneeChoice']);
$anneeChoice = $_POST['anneeChoice'];
if($anneeChoice) {
$session = $request->getSession();
$session->set('annee', $this->anneeAcademiqueRepository->find($anneeChoice));
}
return $this->redirectToRoute('app_index');
}
return $this->render('annee_academique/choisir.html.twig',
['annee_academiques' => $this->anneeAcademiqueRepository->findBy(array('rowstatus'=>false))
]);
}
}