Newer
Older
<?php
namespace App\Controller;

G. Daryl M. OKOU
a validé
use App\Repository\CommentaireRepository;
Mathéo Beaudouin
a validé
use App\Repository\EtablissementRepository;
Glody Kutumbakana
a validé
use finfo;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
final class EtablissementController extends AbstractController
{

G. Daryl M. OKOU
a validé
#[Route('/etablissements', name: 'app_etablissements')]
// public function index(EtablissementRepository $etablissementRepository): Response
// {
// $etablissements = $etablissementRepository->findAll();
// return $this->render('etablissement/index.html.twig', [
// 'etablissements' => $etablissements,
// 'filtre' => 'Tous les établissements'
// ]);
// }
public function index(Request $request, PaginatorInterface $paginator, EtablissementRepository $etablissementRepository): Response
Glody Kutumbakana
a validé
$queryBuilder = $etablissementRepository->queryFindOrderedByName();
$pagination = $paginator->paginate(
$queryBuilder,
$request->query->getInt('page', 1),
10
);
Mathéo Beaudouin
a validé
return $this->render('etablissement/index.html.twig', [
]);
#[Route('/etablissements/departement/{code_departement}', name: 'app_departement')]
Glody Kutumbakana
a validé
public function departement(Request $request, PaginatorInterface $paginator, EtablissementRepository $etablissementRepository): Response
Glody Kutumbakana
a validé
$code_departement = $request->get('code_departement');
$departement = $etablissementRepository->findDepartementByCode($code_departement);
$queryBuilder = $etablissementRepository->queryFindOrderedByCategorie(['code_departement' => $code_departement]);
$pagination = $paginator->paginate(
$queryBuilder,
$request->query->getInt('page', 1),
10
);
Mathéo Beaudouin
a validé
return $this->render('etablissement/liste.html.twig', [
Glody Kutumbakana
a validé
'pagination' => $pagination,
'filtre' => "Département : $departement "
Glody Kutumbakana
a validé
#[Route('/etablissements/academie/{code_academie}', name: 'app_academie')]
public function academie(Request $request, PaginatorInterface $paginator, EtablissementRepository $etablissementRepository): Response
$code_academie = $request->get('code_academie');
$academie = $etablissementRepository->findAcademieByCode($code_academie);
$queryBuilder = $etablissementRepository->queryFindOrderedByCategorie(['code_academie' => $code_academie]);
$pagination = $paginator->paginate(
$queryBuilder,
$request->query->getInt('page', 1),
10
);
Mathéo Beaudouin
a validé
return $this->render('etablissement/liste.html.twig', [

G. Daryl M. OKOU
a validé
'filtre' => "Académie : $academie"
#[Route('/etablissements/region/{code_region}', name: 'app_region')]
Glody Kutumbakana
a validé
public function region(Request $request, PaginatorInterface $paginator, EtablissementRepository $etablissementRepository): Response
Glody Kutumbakana
a validé
$code_region = $request->get('code_region');
$region = $etablissementRepository->findRegionByCode($code_region);
$queryBuilder = $etablissementRepository->queryFindOrderedByCategorie(['code_region' => $code_region]);
$pagination = $paginator->paginate(
$queryBuilder,
$request->query->getInt('page', 1),
10
);
Mathéo Beaudouin
a validé
return $this->render('etablissement/liste.html.twig', [
Glody Kutumbakana
a validé
'pagination' => $pagination,
'filtre' => "Région : $region "
#[Route('/etablissements/commune/{code_commune}', name: 'app_commune')]
public function commune(Request $request, PaginatorInterface $paginator, EtablissementRepository $etablissementRepository): Response
$code_commune = $request->get('code_commune');
$commune = $etablissementRepository->findCommuneByCode($code_commune);
$queryBuilder = $etablissementRepository->queryFindOrderedByCategorie(['code_commune' => $code_commune]);
$pagination = $paginator->paginate(
$queryBuilder,
$request->query->getInt('page', 1),
10
);
return $this->render('etablissement/liste.html.twig', [
'pagination' => $pagination,
'filtre' => "Commune : $commune "

G. Daryl M. OKOU
a validé
]);
}
#[Route('/etablissements/{id}', name: 'app_etablissement')]
public function show(EtablissementRepository $etablissementRepository,CommentaireRepository $commentaireRepository , int $id): Response
{
$etablissement = $etablissementRepository->find($id);
$commentaires = $commentaireRepository->findBy(['etablissement' => $id]);
return $this->render('etablissement/show.html.twig', [
'etablissement' => $etablissement,
'commentaires' => $commentaires,