Newer
Older
<?php
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;
use App\Entity\Commentaire;
use App\Form\CommentaireType;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
final class CommentaireController extends AbstractController
{
#[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', [
'etablissement' => $etablissement,
'commentaires' => $commentaires,
#[Route('etablissements/{id}/commentaires', name: 'commentaire_new', methods: ['GET', 'POST'])]
public function new(Request $request, EntityManagerInterface $entityManager): Response
{
$commentaire = new Commentaire();
$form = $this->createForm(CommentaireType::class, $commentaire);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager->persist($commentaire);
$entityManager->flush();
return $this->redirectToRoute('app_commentaire'); // Redirection vers la liste des commentaires
}
return $this->render('commentaire/new.html.twig', [
'form' => $form->createView(),
]);
}
}