getDoctrine()->getManager(); $repo = $em->getRepository('AppBundle:Realisateur'); $realisateurs = $repo->findAll(); return $this->render('@App/realisateur/liste.html.twig', array( 'realisateurs' => $realisateurs )); } /** * @Route("/real/ajouter", name="realisateur_ajouter") */ public function ajouterAction(Request $request) { $realisateur = new Realisateur(); $form = $this->createForm(RealisateurType::class, $realisateur); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $realisateur = $form->getData(); $em = $this->getDoctrine()->getManager(); $em->persist($realisateur); $em->flush(); $this->addFlash('success', 'Le réalisateur a été ajouté'); return $this->redirectToRoute('realisateur_liste'); } return $this->render('@App/realisateur/ajouter.html.twig', array( 'form' => $form->createView(), //'realisateur' => $realisateur )); } /** * @Route("/real/modifier/{id}", name="realisateur_modifier") */ public function modifierAction(Request $request, Realisateur $realisateur) { $form = $this->createForm(RealisateurType::class, $realisateur); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $realisateur = $form->getData(); $em->flush(); $this->addFlash('success', 'Le réalisateur a été modifié'); return $this->redirectToRoute('realisateur_liste'); } return $this->render('@App/realisateur/modifier.html.twig', array( 'form' => $form->createView() )); } /** * @Route("/real/supprimer/{id}", name="realisateur_supprimer") * @Security("has_role('ROLE_ADMIN')") */ public function supprimerAction(Request $request, Realisateur $realisateur) { $form = $this->get('form.factory')->create(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); foreach ($realisateur->getFilms() as $film) { $film->removeRealisateur($realisateur); } $em->remove($realisateur); $em->flush(); $this->addFlash('success', 'Le réalisateur '.$realisateur->getNomComplet().' a bien été supprimé.'); return $this->redirectToRoute('realisateur_liste'); } return $this->render('@App/realisateur/supprimer.html.twig', array( 'realisateur' => $realisateur, 'form' => $form->createView() )); } }