Browse Source

passage des services en argument des controlleurs

François 6 years ago
parent
commit
a7469fe826

+ 2 - 6
app/config/services.yml

@@ -42,15 +42,11 @@ services:
         arguments:
         - "@doctrine.orm.entity_manager"
 
-    film.unicite_collections:
-        class: AppBundle\Service\UniciteCollections
-        public: true
+    AppBundle\Service\UniciteCollections:
         arguments:
         - "@doctrine.orm.entity_manager"
 
-    film.mail:
-        class: AppBundle\Service\Mail
-        public: true
+    AppBundle\Service\Mail:
         arguments:
         - "@mailer"
         - "@twig"

+ 3 - 4
src/AppBundle/Controller/SecurityController.php

@@ -5,6 +5,7 @@ namespace AppBundle\Controller;
 use AppBundle\Form\UserEditPasswordType;
 use AppBundle\Form\UserEditType;
 use AppBundle\Form\UserRegisterType;
+use AppBundle\Service\Mail;
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 use Symfony\Component\Form\Extension\Core\Type\SearchType;
 use Symfony\Component\Form\Extension\Core\Type\SubmitType;
@@ -111,7 +112,7 @@ class SecurityController extends Controller
     /**
      * @Route("/register", name="security_register")
      */
-    public function registerAction(Request $request, UserPasswordEncoderInterface $encoder)
+    public function registerAction(Request $request, UserPasswordEncoderInterface $encoder, Mail $mail)
     {
         $user = new User();
         $user->setActivated(false);
@@ -128,7 +129,6 @@ class SecurityController extends Controller
 
             $adresse = $this->generateUrl('security_activate', array('token'=>$user->getToken()), UrlGeneratorInterface::ABSOLUTE_URL);
 
-            $mail = $this->get('film.mail');
             $mail->sendMailActivation($user, $adresse);
 
             $this->addFlash('success', 'Votre compte a été créé. Un mail vient d\'être envoyé pour l\'activation du compte');
@@ -143,7 +143,7 @@ class SecurityController extends Controller
     /**
      * @Route("/motdepasseoublie", name="security_envoyertoken")
      */
-    public function recupMdpAction(Request $request)
+    public function recupMdpAction(Request $request, Mail $mail)
     {
         $form = $this->createFormBuilder()
             ->add('email', SearchType::class)
@@ -161,7 +161,6 @@ class SecurityController extends Controller
                 $em->flush();
                 $adresse = $this->generateUrl('security_resetpassword', array('token'=>$user->getToken()), UrlGeneratorInterface::ABSOLUTE_URL);
 
-                $mail = $this->get('film.mail');
                 $mail->sendMailTokenMp($user, $adresse);
 
                 $this->addFlash('success', "Un mail vous a été envoyé à ".$user->getUsername()." pour récupérer le mot de passe");

+ 3 - 4
src/AppBundle/Controller/VideothequeController.php

@@ -6,6 +6,7 @@ use AppBundle\Entity\Commentaire;
 use AppBundle\Entity\Genre;
 use AppBundle\Entity\Realisateur;
 use AppBundle\Service\Mattermost;
+use AppBundle\Service\UniciteCollections;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 use Symfony\Component\HttpFoundation\JsonResponse;
@@ -70,7 +71,7 @@ class VideothequeController extends Controller
 	/**
 	 * @Route("/ajouter", name="videotheque_ajouter")
 	 */
-	public function ajouterAction(Request $request, Mattermost $mattermost)
+	public function ajouterAction(Request $request, Mattermost $mattermost, UniciteCollections $uniciteCollections)
 	{
 		$film = new Film;
 		$film->setAuthered($this->getUser());
@@ -80,7 +81,6 @@ class VideothequeController extends Controller
 		$form->handleRequest($request);
 		if ($form->isSubmitted() && $form->isValid())
 		{
-            $uniciteCollections = $this->get('film.unicite_collections');
             $film = $uniciteCollections->assureUniciteCollections($film);
 			$em->persist($film);
 			$em->flush();
@@ -97,14 +97,13 @@ class VideothequeController extends Controller
 	/**
 	 * @Route("/modifier/{id}", name="videotheque_modifier")
 	 */
-	public function modifierAction(Request $request, Film $film)
+	public function modifierAction(Request $request, Film $film, UniciteCollections $uniciteCollections)
 	{
 		$form = $this->createForm(FilmType::class, $film);
 		$form->handleRequest($request);
         $em = $this->getDoctrine()->getManager();
 		if ($form->isSubmitted() && $form->isValid())
 		{
-            $uniciteCollections = $this->get('film.unicite_collections');
             $film = $uniciteCollections->assureUniciteCollections($film);
 			$em->flush();
 			$this->addFlash('success', 'Le film a été modifié');