Commits (4)
......@@ -2,6 +2,8 @@
namespace App\Controller;
use App\Repository\CommentaireRepository;
use App\Repository\EtablissementRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
......@@ -13,16 +15,19 @@ use Symfony\Component\HttpFoundation\Request;
final class CommentaireController extends AbstractController
{
#[Route('/commentaire', name: 'app_commentaire')]
public function index(): Response
#[Route('etablissements/{id}/commentaires', name: 'show_commentaires')]
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', [
'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
{
$commentaire = new Commentaire();
......
......@@ -16,16 +16,6 @@ use Doctrine\ORM\EntityManagerInterface;
final class EtablissementController extends AbstractController
{
#[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
{
$queryBuilder = $etablissementRepository->queryFindOrderedByName();
......
......@@ -15,9 +15,6 @@ class CommentaireType extends AbstractType
{
$builder
->add('nomUtilisateur')
->add('dateCreation', null, [
'widget' => 'single_text',
])
->add('note')
->add('contenu')
->add('etablissement', EntityType::class, [
......
......@@ -9,12 +9,25 @@
</style>
<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>
<li>Your controller at <code>/home/glody/Cours_L3/S2/web/projet_symfony/src/Controller/CommentaireController.php</code></li>
<li>Your template at <code>/home/glody/Cours_L3/S2/web/projet_symfony/templates/commentaire/index.html.twig</code></li>
{% 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 %}
......@@ -17,17 +17,10 @@
<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>
<a href="{{ path('show_commentaires', {'id':etablissement.id}) }}">Voir les commentaires</a>
</div>
</div>
{% endblock %}
\ No newline at end of file