VideothequePersonnelleController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\FilmRepository;
  4. use App\Service\FilmManager;
  5. use App\Service\OptionsManager;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. class VideothequePersonnelleController extends AbstractController
  13. {
  14. #[Route("/maliste/", name:"videothequepersonnelle_maliste")]
  15. public function maListeAction (Request $request, FilmRepository $repo, OptionsManager $options): Response
  16. {
  17. $films = $repo->findTousFavoritesByUser($this->getUser());
  18. return $this->render('videotheque/liste_'.$options->vue().'.html.twig', array(
  19. 'listeFilms' => $films,
  20. 'titre' => 'Ma liste de films à voir'
  21. ));
  22. }
  23. #[Route("/maliste/modifieravoir/", name:"maliste_modifier_a_voir")]
  24. public function modifierFilmDansListeAction(Request $request, EntityManagerInterface $em, FilmRepository $repo, FilmManager $filmManager): Response
  25. {
  26. $result = null;
  27. $film = $repo->find($request->request->get('id_film'));
  28. if ($request->isXmlHttpRequest())
  29. {
  30. $result = $filmManager->inverseUserWantToView($film);
  31. $em->flush();
  32. }
  33. /*$resultat = $this->get('serializer')->serialize($film, 'json');*/
  34. return new JsonResponse((object)['newState' => $result]);
  35. }
  36. #[Route("/maliste/modifiervus/", name:"maliste_modifier_vus")]
  37. public function modifierFilmVusAction(Request $request, FilmRepository $repo, EntityManagerInterface $em, FilmManager $filmManager): Response
  38. {
  39. $result = null;
  40. $film = $repo->find($request->request->get('id_film'));
  41. if ($request->isXmlHttpRequest())
  42. {
  43. $result = $filmManager->inverseUserWhoSeen($film);
  44. $em->flush();
  45. }
  46. return new JsonResponse((object)['newState' => $result]);
  47. }
  48. }