RealisateurController.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Realisateur;
  4. use App\Form\RealisateurType;
  5. use App\Repository\RealisateurRepository;
  6. use App\Service\RealisateurManager;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\Form\FormFactoryInterface;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Security\Http\Attribute\IsGranted;
  13. class RealisateurController extends AbstractController
  14. {
  15. #[Route("/real", name: "realisateur_liste")]
  16. public function indexAction(RealisateurRepository $repo) {
  17. $realisateurs = $repo->findAll();
  18. return $this->render('realisateur/liste.html.twig', array(
  19. 'realisateurs' => $realisateurs
  20. ));
  21. }
  22. #[Route("/real/ajouter", name: "realisateur_ajouter")]
  23. public function ajouterAction(Request $request, RealisateurManager $realisateurManager): Response
  24. {
  25. $realisateur = new Realisateur();
  26. $form = $this->createForm(RealisateurType::class, $realisateur);
  27. $form->handleRequest($request);
  28. if ($form->isSubmitted() && $form->isValid())
  29. {
  30. $realisateurManager->add($realisateur);
  31. $this->addFlash('success', 'Le réalisateur a été ajouté');
  32. return $this->redirectToRoute('realisateur_liste');
  33. }
  34. return $this->render('realisateur/ajouter.html.twig', array(
  35. 'form' => $form
  36. ));
  37. }
  38. #[Route("/real/modifier/{id}", name: "realisateur_modifier")]
  39. public function modifierAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager): Response
  40. {
  41. $form = $this->createForm(RealisateurType::class, $realisateur);
  42. $form->handleRequest($request);
  43. if ($form->isSubmitted() && $form->isValid())
  44. {
  45. $realisateurManager->edit($realisateur);
  46. $this->addFlash('success', 'Le réalisateur a été modifié');
  47. return $this->redirectToRoute('realisateur_liste');
  48. }
  49. return $this->render('realisateur/modifier.html.twig', array(
  50. 'form' => $form,
  51. 'realisateur' => $realisateur
  52. ));
  53. }
  54. #[Route("/real/supprimer/{id}", name: "realisateur_supprimer")]
  55. #[IsGranted("ROLE_ADMIN")]
  56. public function supprimerAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager, FormFactoryInterface $ffi): Response
  57. {
  58. $form = $ffi->create();
  59. $form->handleRequest($request);
  60. if ($form->isSubmitted() && $form->isValid())
  61. {
  62. $realisateurManager->del($realisateur);
  63. $this->addFlash('success', 'Le réalisateur '.$realisateur->getNomComplet().' a bien été supprimé.');
  64. return $this->redirectToRoute('realisateur_liste');
  65. }
  66. return $this->render('realisateur/supprimer.html.twig', array(
  67. 'realisateur' => $realisateur,
  68. 'form' => $form
  69. ));
  70. }
  71. }