| 
														
															@@ -4,8 +4,8 @@ namespace App\Controller; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 use App\Entity\Genre; 
														 | 
														
														 | 
														
															 use App\Entity\Genre; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 use App\Form\GenreType; 
														 | 
														
														 | 
														
															 use App\Form\GenreType; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+use App\Service\GenreManager; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 use Doctrine\ORM\EntityManagerInterface; 
														 | 
														
														 | 
														
															 use Doctrine\ORM\EntityManagerInterface; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; 
														 | 
														
														 | 
														
															 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 use Symfony\Component\Routing\Annotation\Route; 
														 | 
														
														 | 
														
															 use Symfony\Component\Routing\Annotation\Route; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 use Symfony\Component\HttpFoundation\Request; 
														 | 
														
														 | 
														
															 use Symfony\Component\HttpFoundation\Request; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -28,7 +28,7 @@ class GenreController extends AbstractController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	/** 
														 | 
														
														 | 
														
															 	/** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * @Route("/genre/ajouter", name="genre_ajouter") 
														 | 
														
														 | 
														
															 	 * @Route("/genre/ajouter", name="genre_ajouter") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 */ 
														 | 
														
														 | 
														
															 	 */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	public function ajouterAction(Request $request, EntityManagerInterface $em) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	public function ajouterAction(Request $request, GenreManager $genreManager) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	{ 
														 | 
														
														 | 
														
															 	{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		$genre = new Genre(); 
														 | 
														
														 | 
														
															 		$genre = new Genre(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		$form = $this->createForm(GenreType::class, $genre); 
														 | 
														
														 | 
														
															 		$form = $this->createForm(GenreType::class, $genre); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -36,8 +36,7 @@ class GenreController extends AbstractController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		$form->handleRequest($request); 
														 | 
														
														 | 
														
															 		$form->handleRequest($request); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if ($form->isSubmitted() && $form->isValid()) 
														 | 
														
														 | 
														
															 		if ($form->isSubmitted() && $form->isValid()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		{ 
														 | 
														
														 | 
														
															 		{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			$em->persist($genre); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			$em->flush(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			$genreManager->add($genre); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			$this->addFlash('success', 'Le genre a été ajouté'); 
														 | 
														
														 | 
														
															 			$this->addFlash('success', 'Le genre a été ajouté'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return $this->redirectToRoute('genre_liste'); 
														 | 
														
														 | 
														
															 			return $this->redirectToRoute('genre_liste'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -50,7 +49,7 @@ class GenreController extends AbstractController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	/** 
														 | 
														
														 | 
														
															 	/** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * @Route("/genre/modifier/{id}", name="genre_modifier") 
														 | 
														
														 | 
														
															 	 * @Route("/genre/modifier/{id}", name="genre_modifier") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 */ 
														 | 
														
														 | 
														
															 	 */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	public function modifierAction(Request $request, Genre $genre, EntityManagerInterface $em) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	public function modifierAction(Request $request, Genre $genre, EntityManagerInterface $em, GenreManager $genreManager) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	{ 
														 | 
														
														 | 
														
															 	{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		$form = $this->createForm(GenreType::class, $genre); 
														 | 
														
														 | 
														
															 		$form = $this->createForm(GenreType::class, $genre); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		$form->handleRequest($request); 
														 | 
														
														 | 
														
															 		$form->handleRequest($request); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -58,7 +57,7 @@ class GenreController extends AbstractController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if ($form->isSubmitted() && $form->isValid()) 
														 | 
														
														 | 
														
															 		if ($form->isSubmitted() && $form->isValid()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		{ 
														 | 
														
														 | 
														
															 		{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			$em->flush(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			$genreManager->edit($genre); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			$this->addFlash('success', 'Le genre a été modifié'); 
														 | 
														
														 | 
														
															 			$this->addFlash('success', 'Le genre a été modifié'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return $this->redirectToRoute('genre_liste'); 
														 | 
														
														 | 
														
															 			return $this->redirectToRoute('genre_liste'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -73,19 +72,13 @@ class GenreController extends AbstractController 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	/** 
														 | 
														
														 | 
														
															 	/** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * @Route("/genre/supprimer/{id}", name="genre_supprimer") 
														 | 
														
														 | 
														
															 	 * @Route("/genre/supprimer/{id}", name="genre_supprimer") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 */ 
														 | 
														
														 | 
														
															 	 */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	public function supprimerAction(Request $request, Genre $genre, EntityManagerInterface $em) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	public function supprimerAction(Request $request, Genre $genre, GenreManager $genreManager) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     { 
														 | 
														
														 | 
														
															     { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         $form = $this->get('form.factory')->create(); 
														 | 
														
														 | 
														
															         $form = $this->get('form.factory')->create(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         $form->handleRequest($request); 
														 | 
														
														 | 
														
															         $form->handleRequest($request); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if ($form->isSubmitted() && $form->isValid()) 
														 | 
														
														 | 
														
															         if ($form->isSubmitted() && $form->isValid()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         { 
														 | 
														
														 | 
														
															         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            $films = $em->getRepository('App:Film')->findFilmWithGenre(array($genre->getName())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            foreach ($films as $film) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                $film->removeGenre($genre); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            $em->remove($genre); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            $em->flush(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            $genreManager->del($genre); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             $this->addFlash('success', 'Le genre '.$genre->getName().' a bien été supprimé.'); 
														 | 
														
														 | 
														
															             $this->addFlash('success', 'Le genre '.$genre->getName().' a bien été supprimé.'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return $this->redirectToRoute('genre_liste'); 
														 | 
														
														 | 
														
															             return $this->redirectToRoute('genre_liste'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 |