find($request->toArray()['id_film']); $result = $filmManager->inverseUserWantToView($film); $em->flush(); /*$resultat = $this->get('serializer')->serialize($film, 'json');*/ return new JsonResponse((object)['newState' => $result]); } #[Route("/maliste/modifiervus", name:"maliste_modifier_vus", methods: ['PATCH'])] public function modifierFilmVusAction(Request $request, FilmRepository $repo, EntityManagerInterface $em, FilmManager $filmManager): Response { $result = null; $film = $repo->find($request->toArray()['id_film']); $result = $filmManager->inverseUserWhoSeen($film); $em->flush(); return new JsonResponse((object)['newState' => $result]); } #[Route("/ajouter/{idtmdb}", name: "videotheque_ajouter")] public function ajouterAction(Request $request, FilmManager $filmManager, TmdbApiService $tmdbApiService, string $idtmdb=null): Response { if ($idtmdb !== null) { $film = $tmdbApiService->hydrateFilm($idtmdb); } else { $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, )); } #[Route("/addtmdb", name: "videotheque_ajouter_tmdb")] public function ajouterTmdb( Request $request, TmdbApiService $tmdbApiService, FilmRepository $filmRepository ): Response { $films = []; $nbFilms = 0; $nbPages = 0; $page = (int) $request->query->get('page', 1); if ($page === 0) { $page = 1; } $recherche = $request->query->get('query', ""); if ($tmdbApiService->query($recherche, $page)) { $nbFilms = $tmdbApiService->countResults(); $nbPages = $tmdbApiService->countPages(); $films = $tmdbApiService->getFilms(); foreach($films as $key => $film) { $filmDejaEnBase = $filmRepository->findFilmInImdb($film['data']); foreach($filmDejaEnBase as $filmInBdd) { $films[$key]['filmBdd'][] = $filmInBdd; } } } return $this->render('videotheque/add_tmdb.html.twig', [ 'titre' => 'Ajouter via TheMovieDB.org', 'films' => $films, 'nbFilms' => $nbFilms, 'nbPages' => $nbPages, 'page' => $page, 'recherche' => $recherche ]); } #[Route("/modifier/{id}", name: "videotheque_modifier")] public function modifierAction(Request $request, Film $film, FilmManager $filmManager): Response { $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, )); } #[Route("/supprimer/{id}", name: "videotheque_supprimer")] #[IsGranted("ROLE_ADMIN")] public function supprimerAction(Request $request, Film $film, FilmManager $filmManager, FormFactoryInterface $ffi): Response { $form = $ffi->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 )); } }