| 
					
				 | 
			
			
				@@ -4,6 +4,7 @@ namespace App\Controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Entity\Realisateur; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Form\RealisateurType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use App\Service\RealisateurManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Doctrine\ORM\EntityManagerInterface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27,7 +28,7 @@ class RealisateurController extends AbstractController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @Route("/real/ajouter", name="realisateur_ajouter") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public function ajouterAction(Request $request, EntityManagerInterface $em) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function ajouterAction(Request $request, RealisateurManager $realisateurManager) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$realisateur = new Realisateur(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$form = $this->createForm(RealisateurType::class, $realisateur); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -35,34 +36,31 @@ class RealisateurController extends AbstractController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$form->handleRequest($request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if ($form->isSubmitted() && $form->isValid()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$em->persist($realisateur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$em->flush(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$realisateurManager->add($realisateur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$this->addFlash('success', 'Le réalisateur a été ajouté'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return $this->redirectToRoute('realisateur_liste'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return $this->render('realisateur/ajouter.html.twig', array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			'form'	=>	$form->createView(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//'realisateur'	=>	$realisateur 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'form'	=>	$form->createView() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @Route("/real/modifier/{id}", name="realisateur_modifier") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public function modifierAction(Request $request, Realisateur $realisateur, EntityManagerInterface $em) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function modifierAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$form = $this->createForm(RealisateurType::class, $realisateur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$form->handleRequest($request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if ($form->isSubmitted() && $form->isValid()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			$em->flush(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$realisateurManager->edit($realisateur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$this->addFlash('success', 'Le réalisateur a été modifié'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return $this->redirectToRoute('realisateur_liste'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return $this->render('realisateur/modifier.html.twig', array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			'form'	=> $form->createView(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'realisateur'   =>  $realisateur 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -73,18 +71,13 @@ class RealisateurController extends AbstractController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @Route("/real/supprimer/{id}", name="realisateur_supprimer") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @IsGranted("ROLE_ADMIN") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public function supprimerAction(Request $request, Realisateur $realisateur, EntityManagerInterface $em) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function supprimerAction(Request $request, Realisateur $realisateur, RealisateurManager $realisateurManager) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $form = $this->get('form.factory')->create(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $form->handleRequest($request); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ($form->isSubmitted() && $form->isValid()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            foreach ($realisateur->getFilms() as $film) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $film->removeRealisateur($realisateur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $em->remove($realisateur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $em->flush(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $realisateurManager->del($realisateur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $this->addFlash('success', 'Le réalisateur '.$realisateur->getNomComplet().' a bien été supprimé.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return $this->redirectToRoute('realisateur_liste'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |