findTous(); if ($this->getUser()->getProfile()->getView() === 0) { $type = "tableaux"; } else { $type = "vignettes"; } return $this->render("videotheque/liste_$type.html.twig", array( 'listeFilms' => $listeFilms, 'titre' => 'Liste complète', )); } /** * @Route("/liste-by/{id}", name="videotheque_listepargenre") */ public function listeParGenreAction(\App\Entity\Genre $genre, FilmRepository $repo) { $films = $repo->findFilmWithGenre(array($genre->getName())); if ($this->getUser()->getProfile()->getView() === 0) { $type = "tableaux"; } else { $type = "vignettes"; } return $this->render("videotheque/liste_$type.html.twig", array( 'listeFilms' => $films, 'titre' => 'Films par catégorie : '.$genre->getName() )); } /** * @Route("/liste-by_real/{id}", name="videotheque_listeparreal") */ public function listeParRealisateurAction(Realisateur $realisateur, FilmRepository $repo) { $films = $repo->findFilmWithReal(array($realisateur->getNomComplet())); if ($this->getUser()->getProfile()->getView() === 0) { $type = "tableaux"; } else { $type = "vignettes"; } return $this->render("videotheque/liste_$type.html.twig", array( 'listeFilms' => $films, 'titre' => 'Films par réalisateur : '.$realisateur->getNomComplet() )); } /** * @Route("/ajouter", name="videotheque_ajouter") */ public function ajouterAction(Request $request, FilmManager $filmManager) { $film = new Film; $form = $this->createForm(FilmType::class, $film); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $filmManager->addFilm($film); $this->addFlash('success', 'Le film a été ajouté'); return $this->redirectToRoute('videotheque_voirfilm', array('id'=>$film->getId())); } return $this->render('videotheque/ajouter.html.twig', array( 'form' => $form->createView(), )); } /** * @Route("/modifier/{id}", name="videotheque_modifier") */ public function modifierAction(Request $request, Film $film, FilmManager $filmManager) { $form = $this->createForm(FilmType::class, $film); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $filmManager->editFilm($film); $this->addFlash('success', 'Le film a été modifié'); return $this->redirectToRoute('videotheque_voirfilm',array('id'=>$film->getId())); } return $this->render('videotheque/modifier.html.twig', array( 'form' => $form->createView(), )); } /** * @Route("/supprimer/{id}", name="videotheque_supprimer") * @IsGranted("ROLE_ADMIN") */ public function supprimerAction(Request $request, Film $film, FilmManager $filmManager) { $form = $this->get('form.factory')->create(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $filmManager->delFilm($film); $this->addFlash('success', 'Le film '.$film->getTitre().' a bien été supprimé.'); return $this->redirectToRoute('videotheque_liste'); } return $this->render('videotheque/supprimer.html.twig', array( 'film' => $film, 'form' => $form->createView() )); } /** * @Route("/fichefilm/{id}", name="videotheque_voirfilm") */ public function voirFilmAction(Request $request, \App\Entity\Film $film, CommentaireManager $cm, Security $security, CommentaireRepository $repo) { if ($security->isGranted('IS_AUTHENTICATED_REMEMBERED')) { $commentaireUser = $repo->findOneBy(array('film'=>$film, 'user'=>$this->getUser())); if (is_null($commentaireUser)) { $commentaireUser = new Commentaire(); } $form = $this->createForm(CommentaireType::class, $commentaireUser); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $cm->delEditAdd($commentaireUser, $film); $this->addFlash('success', 'Le commentaire a été posté'); return $this->redirectToRoute('videotheque_voirfilm', array('id' => $film->getId())); } } else { $form = $this->createForm(CommentaireType::class, null); } return $this->render('videotheque/voirfilm.html.twig', array( 'film' => $film, 'form' => $form->createView() )); } /** * @Route("/ajax_req_realisateurs", name="videotheque_ajax_realisateurs") */ public function ajaxRealisateurs(Request $request, RealisateurRepository $repo) { $realisateurs = $repo->findNomsComplets(); $liste = array(); foreach ($realisateurs as $key=>$nom) { $liste[$key] = $this->get('serializer')->serialize($nom, 'json'); } return new JsonResponse($liste); } /** * @Route("/ajax_req_genres", name="videotheque_ajax_genres") */ public function ajaxGenres(Request $request, GenreRepository $repo) { $genres = $repo->findGenres(); $liste = array(); foreach ($genres as $key=>$nom) { $liste[$key] = $this->get('serializer')->serialize($nom, 'json'); } return new JsonResponse($liste); } }