Browse Source

Service RealisateurManager

François Drouhard 5 năm trước cách đây
mục cha
commit
41f7a8ea31
1 tập tin đã thay đổi với 8 bổ sung15 xóa
  1. 8 15
      src/Controller/RealisateurController.php

+ 8 - 15
src/Controller/RealisateurController.php

@@ -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');
         }