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