Commits (2)
...@@ -9928,7 +9928,7 @@ ...@@ -9928,7 +9928,7 @@
], ],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "stable",
"stability-flags": [], "stability-flags": {},
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
...@@ -9936,6 +9936,6 @@ ...@@ -9936,6 +9936,6 @@
"ext-ctype": "*", "ext-ctype": "*",
"ext-iconv": "*" "ext-iconv": "*"
}, },
"platform-dev": [], "platform-dev": {},
"plugin-api-version": "2.6.0" "plugin-api-version": "2.6.0"
} }
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace App\Controller; namespace App\Controller;
use App\Repository\CommentaireRepository;
use App\Repository\EtablissementRepository; use App\Repository\EtablissementRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
...@@ -9,7 +10,7 @@ use Symfony\Component\Routing\Attribute\Route; ...@@ -9,7 +10,7 @@ use Symfony\Component\Routing\Attribute\Route;
final class EtablissementController extends AbstractController final class EtablissementController extends AbstractController
{ {
#[Route('/etablissements', name: 'app_etablissement')] #[Route('/etablissements', name: 'app_etablissements')]
public function index(EtablissementRepository $etablissementRepository): Response public function index(EtablissementRepository $etablissementRepository): Response
{ {
$etablissements = $etablissementRepository->findAll(); $etablissements = $etablissementRepository->findAll();
...@@ -24,10 +25,11 @@ final class EtablissementController extends AbstractController ...@@ -24,10 +25,11 @@ final class EtablissementController extends AbstractController
public function departement(EtablissementRepository $etablissementRepository, string $code_departement): Response public function departement(EtablissementRepository $etablissementRepository, string $code_departement): Response
{ {
$etablissements = $etablissementRepository->findBy(['code_departement' => $code_departement]); $etablissements = $etablissementRepository->findBy(['code_departement' => $code_departement]);
$departement = $etablissements[array_key_first($etablissements)] -> getDepartement();
return $this->render('etablissement/liste.html.twig', [ return $this->render('etablissement/liste.html.twig', [
'etablissements' => $etablissements, 'etablissements' => $etablissements,
'filtre' => "Département : $code_departement" 'filtre' => "Département : $departement"
]); ]);
} }
...@@ -35,10 +37,11 @@ final class EtablissementController extends AbstractController ...@@ -35,10 +37,11 @@ final class EtablissementController extends AbstractController
public function academie(EtablissementRepository $etablissementRepository, string $code_academie): Response public function academie(EtablissementRepository $etablissementRepository, string $code_academie): Response
{ {
$etablissements = $etablissementRepository->findBy(['code_academie' => $code_academie]); $etablissements = $etablissementRepository->findBy(['code_academie' => $code_academie]);
$academie = $etablissements[array_key_first($etablissements)] -> getAcademie();
return $this->render('etablissement/liste.html.twig', [ return $this->render('etablissement/liste.html.twig', [
'etablissements' => $etablissements, 'etablissements' => $etablissements,
'filtre' => "Académie : $code_academie" 'filtre' => "Académie : $academie"
]); ]);
} }
...@@ -46,10 +49,11 @@ final class EtablissementController extends AbstractController ...@@ -46,10 +49,11 @@ final class EtablissementController extends AbstractController
public function region(EtablissementRepository $etablissementRepository, string $code_region): Response public function region(EtablissementRepository $etablissementRepository, string $code_region): Response
{ {
$etablissements = $etablissementRepository->findBy(['code_region' => $code_region]); $etablissements = $etablissementRepository->findBy(['code_region' => $code_region]);
$region = $etablissements[array_key_first($etablissements)] -> getRegion();
return $this->render('etablissement/liste.html.twig', [ return $this->render('etablissement/liste.html.twig', [
'etablissements' => $etablissements, 'etablissements' => $etablissements,
'filtre' => "Région : $code_region" 'filtre' => "Région : $region"
]); ]);
} }
...@@ -57,10 +61,21 @@ final class EtablissementController extends AbstractController ...@@ -57,10 +61,21 @@ final class EtablissementController extends AbstractController
public function commune(EtablissementRepository $etablissementRepository, string $code_commune): Response public function commune(EtablissementRepository $etablissementRepository, string $code_commune): Response
{ {
$etablissements = $etablissementRepository->findBy(['code_commune' => $code_commune]); $etablissements = $etablissementRepository->findBy(['code_commune' => $code_commune]);
$commune = $etablissements[array_key_first($etablissements)] -> getCommune();
return $this->render('etablissement/liste.html.twig', [ return $this->render('etablissement/liste.html.twig', [
'etablissements' => $etablissements, 'etablissements' => $etablissements,
'filtre' => "Commune : $code_commune" 'filtre' => "Commune : $commune",
]);
}
#[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,
]); ]);
} }
} }
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block title %}Hello EtablissementController!{% endblock %} {% block title %}Liste des établissements{% endblock %}
{% block body %} {% block body %}
<style> <style>
...@@ -9,11 +9,17 @@ ...@@ -9,11 +9,17 @@
</style> </style>
<div class="example-wrapper"> <div class="example-wrapper">
<h1> Liste des etablissements:</h1> <h1> Liste de tous les etablissements:</h1>
<ul> <ul>
{% for etablissement in etablissements %} {% for etablissement in etablissements %}
<li>{{ etablissement.nom }}</li> <li>
<strong>{{ etablissement.nom }}</strong> ({{ etablissement.nature }}) <br>
📍 {{ etablissement.adresse }}, {{ etablissement.commune }} ({{ etablissement.departement }}) <br>
🔹 Secteur : {{ etablissement.secteur.value }}
</li>
{% else %}
<p>Aucun établissement trouvé.</p>
{% endfor %} {% endfor %}
</ul> </ul>
</div> </div>
......
...@@ -3,6 +3,10 @@ ...@@ -3,6 +3,10 @@
{% block title %}Établissements - {{ filtre }}{% endblock %} {% block title %}Établissements - {{ filtre }}{% endblock %}
{% block body %} {% block body %}
<style>
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
.example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
</style>
<h1>Liste des établissements ({{ filtre }})</h1> <h1>Liste des établissements ({{ filtre }})</h1>
<ul> <ul>
{% for etablissement in etablissements %} {% for etablissement in etablissements %}
......
{% extends 'base.html.twig' %}
{% block title %}Liste des établissements{% endblock %}
{% block body %}
<style>
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
.example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
</style>
<div class="example-wrapper">
<h1> {{ etablissement.nom }} {{ etablissement.nature }} </h1>
<h3>Informations</h3>
<ul>
<li aria-label="Adresse">📍 Adresse {{ etablissement.adresse }}, {{ etablissement.commune }} ({{ etablissement.departement }})</li>
<li aria-label="Secteur">🔹 Secteur : {{ etablissement.secteur.value }}</li>
<li aria-label="Académie">🎓 Académie : {{ etablissement.academie }}</li>
<li aria-label="Coordonnées géographiques">🌐 Latitude : {{ etablissement.latitude }} - Longitude : {{ etablissement.longitude }}</li>
</ul>
<h3>Commentaires</h3>
<ul>
{% for commentaire in commentaires %}
<li>
Utilisateur : {{ commentaire.utilisateur }} <br>
Note : {{ commentaire.note }} <br>
{{ commentaire.contenu }}
{% else %}
<li>Aucun commentaire trouvé.</li>
{% endfor %}
</ul>
</div>
{% endblock %}
\ No newline at end of file