123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- namespace App\Controller;
- use App\Entity\Genre;
- use App\Form\GenreType;
- use App\Repository\FilmRepository;
- use App\Repository\GenreRepository;
- use App\Service\GenreManager;
- use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
- use Symfony\Component\Form\FormFactoryInterface;
- use Symfony\Component\Routing\Annotation\Route;
- use Symfony\Component\HttpFoundation\Request;
- class GenreController extends AbstractController
- {
- /**
- * @Route("/genre", name="genre_liste")
- */
- public function indexAction(GenreRepository $repo) {
- $genres = $repo->findAll();
- return $this->render('genre/liste.html.twig', array(
- 'genres' => $genres
- ));
- }
- /**
- * @Route("/genre/ajouter", name="genre_ajouter")
- */
- public function ajouterAction(Request $request, GenreManager $genreManager)
- {
- $genre = new Genre();
- $form = $this->createForm(GenreType::class, $genre);
- $form->handleRequest($request);
- if ($form->isSubmitted() && $form->isValid())
- {
- $genreManager->add($genre);
- $this->addFlash('success', 'Le genre a été ajouté');
- return $this->redirectToRoute('genre_liste');
- }
- return $this->renderForm('genre/ajouter.html.twig', array(
- 'form' => $form,
- ));
- }
- /**
- * @Route("/genre/modifier/{id}", name="genre_modifier")
- */
- public function modifierAction(Request $request, Genre $genre, FilmRepository $repo, GenreManager $genreManager)
- {
- $form = $this->createForm(GenreType::class, $genre);
- $form->handleRequest($request);
- $films = $repo->findFilmWithGenre(array($genre->getName()));
- if ($form->isSubmitted() && $form->isValid())
- {
- $genreManager->edit($genre);
- $this->addFlash('success', 'Le genre a été modifié');
- return $this->redirectToRoute('genre_liste');
- }
- return $this->renderForm('genre/modifier.html.twig', array(
- 'form' => $form,
- 'genre' => $genre,
- 'films' => $films
- ));
- }
- /**
- * @Route("/genre/supprimer/{id}", name="genre_supprimer")
- */
- public function supprimerAction(Request $request, Genre $genre, GenreManager $genreManager, FormFactoryInterface $ffi)
- {
- $form = $ffi->create();
- $form->handleRequest($request);
- if ($form->isSubmitted() && $form->isValid())
- {
- $genreManager->del($genre);
- $this->addFlash('success', 'Le genre '.$genre->getName().' a bien été supprimé.');
- return $this->redirectToRoute('genre_liste');
- }
- return $this->renderForm('genre/supprimer.html.twig', array(
- 'genre' => $genre,
- 'form' => $form
- ));
- }
- }
|