Commits (4)
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
namespace App\Controller; namespace App\Controller;
use App\Repository\CommentaireRepository;
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;
use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\Attribute\Route;
...@@ -13,16 +15,19 @@ use Symfony\Component\HttpFoundation\Request; ...@@ -13,16 +15,19 @@ use Symfony\Component\HttpFoundation\Request;
final class CommentaireController extends AbstractController final class CommentaireController extends AbstractController
{ {
#[Route('/commentaire', name: 'app_commentaire')] #[Route('etablissements/{id}/commentaires', name: 'show_commentaires')]
public function index(): Response public function index(EtablissementRepository $etablissementRepository, CommentaireRepository $commentaireRepository, int $id): Response
{ {
$etablissement = $etablissementRepository->find($id);
$commentaires = $commentaireRepository->findBy(['etablissement' => $id]);
return $this->render('commentaire/index.html.twig', [ return $this->render('commentaire/index.html.twig', [
'controller_name' => 'CommentaireController', 'etablissement' => $etablissement,
'commentaires' => $commentaires,
]); ]);
} }
#[Route('/commentaire/new', name: 'commentaire_new', methods: ['GET', 'POST'])] #[Route('etablissements/{id}/commentaires', name: 'commentaire_new', methods: ['GET', 'POST'])]
public function new(Request $request, EntityManagerInterface $entityManager): Response public function new(Request $request, EntityManagerInterface $entityManager): Response
{ {
$commentaire = new Commentaire(); $commentaire = new Commentaire();
......
...@@ -16,16 +16,6 @@ use Doctrine\ORM\EntityManagerInterface; ...@@ -16,16 +16,6 @@ use Doctrine\ORM\EntityManagerInterface;
final class EtablissementController extends AbstractController final class EtablissementController extends AbstractController
{ {
#[Route('/etablissements', name: 'app_etablissements')] #[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 public function index(Request $request, PaginatorInterface $paginator, EtablissementRepository $etablissementRepository): Response
{ {
$queryBuilder = $etablissementRepository->queryFindOrderedByName(); $queryBuilder = $etablissementRepository->queryFindOrderedByName();
......
...@@ -15,9 +15,6 @@ class CommentaireType extends AbstractType ...@@ -15,9 +15,6 @@ class CommentaireType extends AbstractType
{ {
$builder $builder
->add('nomUtilisateur') ->add('nomUtilisateur')
->add('dateCreation', null, [
'widget' => 'single_text',
])
->add('note') ->add('note')
->add('contenu') ->add('contenu')
->add('etablissement', EntityType::class, [ ->add('etablissement', EntityType::class, [
......
...@@ -9,12 +9,25 @@ ...@@ -9,12 +9,25 @@
</style> </style>
<div class="example-wrapper"> <div class="example-wrapper">
<h1>Hello {{ controller_name }}! ✅</h1> <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>
This friendly message is coming from: <h3>Commentaires</h3>
<ul> <ul>
<li>Your controller at <code>/home/glody/Cours_L3/S2/web/projet_symfony/src/Controller/CommentaireController.php</code></li> {% for commentaire in commentaires %}
<li>Your template at <code>/home/glody/Cours_L3/S2/web/projet_symfony/templates/commentaire/index.html.twig</code></li> <li>
Utilisateur : {{ commentaire.utilisateur }} <br>
Note : {{ commentaire.note }} <br>
{{ commentaire.contenu }}
{% else %}
<li>Aucun commentaire trouvé.</li>
{% endfor %}
</ul> </ul>
</div> </div>
{% endblock %} {% endblock %}
...@@ -17,17 +17,10 @@ ...@@ -17,17 +17,10 @@
<li aria-label="Académie">🎓 Académie : {{ etablissement.academie }}</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> <li aria-label="Coordonnées géographiques">🌐 Latitude : {{ etablissement.latitude }} - Longitude : {{ etablissement.longitude }}</li>
</ul> </ul>
<h3>Commentaires</h3> <h3>Commentaires</h3>
<ul> <div>
{% for commentaire in commentaires %} <a href="{{ path('show_commentaires', {'id':etablissement.id}) }}">Voir les commentaires</a>
<li> </div>
Utilisateur : {{ commentaire.utilisateur }} <br>
Note : {{ commentaire.note }} <br>
{{ commentaire.contenu }}
{% else %}
<li>Aucun commentaire trouvé.</li>
{% endfor %}
</ul>
</div> </div>
{% endblock %} {% endblock %}
\ No newline at end of file