src/Controller/LoginController.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Utilisateur;
  4. use App\Form\LoginType;
  5. use App\Repository\UtilisateurRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Exception;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\RedirectResponse;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  15. class LoginController extends AbstractController
  16. {
  17.     /**
  18.      * Renvoie l'internaute à la page login de l'application
  19.      *
  20.      * @Route("/", name="login")
  21.      * @return Response
  22.      */
  23.     public function index(): Response
  24.     {
  25.         $formLogin $this->createForm(LoginType::class);
  26.         return $this->render('login/index.html.twig',[
  27.             'form_login' => $formLogin->createView()
  28.         ]);
  29.     }
  30.     /**
  31.      * Retourner l'erreur liée à l'échec de la  connexion
  32.      * @Route("/login", name="user.login")
  33.      * @param AuthenticationUtils $authenticationUtils
  34.      * @return Response
  35.      */
  36.     public function login(AuthenticationUtils $authenticationUtils): Response
  37.     {
  38.         $formLogin $this->createForm(LoginType::class);
  39.         $error $authenticationUtils->getLastAuthenticationError();
  40.         return $this->render('login/index.html.twig',[
  41.             'form_login' => $formLogin->createView(),
  42.             'error' => 'Email ou mot de passe erroné'
  43.         ]);
  44.     }
  45.     /**
  46.      * @Route("/logoutMethode", name="logoutMethode")
  47.      * @param UtilisateurRepository $repository
  48.      * @param UtilisateurRepository $utilisateurRepository
  49.      * @return RedirectResponse
  50.      */
  51.     public function logoutMethode(UtilisateurRepository $repository,UtilisateurRepository $utilisateurRepository){
  52.         $repository->UpdateStatutCompte('0',$this->getUser()->getId());
  53.        return $this->redirectToRoute('logout');
  54.     }
  55.     /**
  56.      * @Route("/logout", name="logout")
  57.      * @param UtilisateurRepository $utilisateurRepository
  58.      */
  59.     public function log(UtilisateurRepository $utilisateurRepository)
  60.     {
  61.        // $utilisateurRepository->UpdateConnectedDate(new \DateTime(date('Y-m-d')),$this->getUser()->getId());
  62.     }
  63.     /**
  64.      * @Route("/connectedUpdate/34234gere{id}fsdf5334", name="connectedUpdate")
  65.      * @param Utilisateur $utilisateur
  66.      * @param Request $request
  67.      * @param EntityManagerInterface $entityManager
  68.      * @return JsonResponse
  69.      * @throws Exception
  70.      */
  71.     public function connectedUpdate(Utilisateur $utilisateurRequest $request,EntityManagerInterface $entityManager): Response
  72.     {
  73.         $date = new \DateTime($request->get('dateConnected'));
  74.         $utilisateur->setDateConnected($date);
  75.         $entityManager->flush();
  76.         return $this->json($date->format('d-m-Y'));
  77.     }
  78.     /**
  79.      * @Route("/logoutPage", name="logoutPage")
  80.      */
  81.     public function logout()
  82.     {
  83.         $formLogin $this->createForm(LoginType::class);
  84.         return $this->render('login/index.html.twig',[
  85.             'form_login' => $formLogin->createView(),
  86.             'blocker' => ''
  87.         ]);
  88.     }
  89.     /**
  90.      * @Route("/profile/home", name="user.profil.home")
  91.      * @param UtilisateurRepository $repository
  92.      * @return Response
  93.      * @throws Exception
  94.      */
  95.     public function logSuccess(UtilisateurRepository $repository): Response
  96.     {
  97.         if($this->getUser()->getEtat() === false){
  98.             return $this->redirectToRoute('logout',[
  99.                 'blocker' => ''
  100.             ]);
  101.         }
  102.         $repository->UpdateStatutCompte('1',$this->getUser()->getId());
  103.         if($this->getUser()->getDateConnected() < new \DateTime(date('Y-m-d'))){
  104.             $repository->UpdateDateConnected(new \DateTime(date('Y-m-d')) ,$this->getUser()->getId());
  105.         }
  106.         if($this->getUser()->getId() === 59){
  107.             return $this->redirectToRoute('rapportJournalierAllTransfert');
  108.         }
  109.         if($this->getUser()->getId() === 52 || $this->getUser()->getId() === 54 || $this->getUser()->getId() === 54){
  110.             return $this->redirectToRoute('app_reception_index');
  111.         }
  112.         return $this->redirectToRoute('super.admin.index');
  113.        /* if($this->getUser()->getRole() === 'ROLE_SUPER_ADMIN'){
  114.         }
  115.         if($this->getUser()->getRole() === 'ROLE_SUPER_ADMIN'){
  116.             return $this->redirectToRoute('super.admin.index');
  117.         }
  118.         elseif($this->getUser()->getRole() === 'ROLE_ADMIN'){
  119.             //return $this->redirectToRoute('direction_index');
  120.             return $this->redirectToRoute('paiement_index',[
  121.                 'id' => $this->getUser()->getId(),
  122.             ]);
  123.         }
  124.         elseif($this->getUser()->getRole() === 'ROLE_FACTURE'){
  125.             return $this->redirectToRoute('facture.index');
  126.         }
  127.         elseif($this->getUser()->getRole() === 'ROLE_CAISSE'){
  128.             return $this->redirectToRoute('paiement_index',[
  129.                 'id' => $this->getUser()->getId(),
  130.             ]);
  131.         }
  132.         elseif($this->getUser()->getRole() === 'ROLE_SUIVI'){
  133.             return $this->redirectToRoute('paiement_index',[
  134.                 'id' => $this->getUser()->getId(),
  135.             ]);
  136.         }
  137.         elseif($this->getUser()->getRole() === 'ROLE_DIRECTION'){
  138.            return $this->redirectToRoute('direction_index');
  139.         }
  140.         elseif($this->getUser()->getRole() === 'ROLE_BOIS'){
  141.             return $this->redirectToRoute('paiement_index',[
  142.                 'id' => $this->getUser()->getId(),
  143.             ]);
  144.           // return $this->redirectToRoute('facture.index');
  145.            //return $this->redirectToRoute('bois_index');
  146.           // return $this->redirectToRoute('paiement_index');
  147.         }
  148.         return $this->redirectToRoute('logout',[
  149.             'blocker' => ''
  150.         ]);*/
  151.     }
  152. }