RealisateurController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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 Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\HttpFoundation\Request;
  11. class RealisateurController extends AbstractController
  12. {
  13. /**
  14. * @Route("/real/", name="realisateur_liste")
  15. */
  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. /**
  23. * @Route("/real/ajouter", name="realisateur_ajouter")
  24. */
  25. public function ajouterAction(Request $request, RealisateurManager $realisateurManager)
  26. {
  27. $realisateur = new Realisateur();
  28. $form = $this->createForm(RealisateurType::class, $realisateur);
  29. $form->handleRequest($request);
  30. if ($form->isSubmitted() && $form->isValid())
  31. {
  32. $realisateurManager->add($realisateur);
  33. $this->addFlash('success', 'Le réalisateur a été ajouté');
  34. return $this->redirectToRoute('realisateur_liste');
  35. }
  36. return $this->render('realisateur/ajouter.html.twig', array(
  37. 'form' => $form->createView()
  38. ));
  39. }
  40. /**
  41. * @Route("/real/modifier/{id}", name="realisateur_modifier")
  42. */
  43. public function modifierAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager)
  44. {
  45. $form = $this->createForm(RealisateurType::class, $realisateur);
  46. $form->handleRequest($request);
  47. if ($form->isSubmitted() && $form->isValid())
  48. {
  49. $realisateurManager->edit($realisateur);
  50. $this->addFlash('success', 'Le réalisateur a été modifié');
  51. return $this->redirectToRoute('realisateur_liste');
  52. }
  53. return $this->render('realisateur/modifier.html.twig', array(
  54. 'form' => $form->createView(),
  55. 'realisateur' => $realisateur
  56. ));
  57. }
  58. /**
  59. * @Route("/real/supprimer/{id}", name="realisateur_supprimer")
  60. * @IsGranted("ROLE_ADMIN")
  61. */
  62. public function supprimerAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager)
  63. {
  64. $form = $this->get('form.factory')->create();
  65. $form->handleRequest($request);
  66. if ($form->isSubmitted() && $form->isValid())
  67. {
  68. $realisateurManager->del($realisateur);
  69. $this->addFlash('success', 'Le réalisateur '.$realisateur->getNomComplet().' a bien été supprimé.');
  70. return $this->redirectToRoute('realisateur_liste');
  71. }
  72. return $this->render('realisateur/supprimer.html.twig', array(
  73. 'realisateur' => $realisateur,
  74. 'form' => $form->createView()
  75. ));
  76. }
  77. }