src/Controller/HomeController.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Form\UserType;
  5. use App\Service\CallApiService;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class HomeController extends AbstractController
  12. {
  13.     private $doctrine;
  14.     public function __construct(ManagerRegistry $doctrine)
  15.     {
  16.         $this->doctrine $doctrine;
  17.     }
  18.     #[Route('/'name'app_home')]
  19.     public function index(CallApiService $callApiServiceRequest $request): Response
  20.     {
  21.         $user = new User;
  22.         $form $this->createForm(UserType::class, $user);
  23.         $form->handlerequest($request);
  24.         if ($form->issubmitted() && $form->isvalid()) {
  25.             // on appelle l'API pour se connecter à la base
  26.             $token $callApiService->connexionBase()['response']['token'];
  27.             // on enregistre le token dans la session
  28.             $session $request->getSession();
  29.             $session->set('token'$token);
  30.             // on verifie le compte
  31.             $compte $callApiService->verifCompte($token$user->getLogin());
  32.             if (is_array($compte['response'])) {
  33.                 // on teste le mot de passe
  34.                 if ($compte['response']['data'][0]['fieldData']['Mot_passe'] == $user->getPassword()) {
  35.                     $societe $compte['response']['data'][0]['fieldData']['zkp_societe'];
  36.                     $session->set('societe'$societe);
  37.                     $nom $compte['response']['data'][0]['fieldData']['Societe'];
  38.                     $session->set('nom'$nom);
  39.                     return $this->redirectToRoute('app_factures');
  40.                 } else {
  41.                     return $this->render('home/index.html.twig', [
  42.                         'controller_name' => 'Connexion à l\'extranet de Proxi-Info',
  43.                         'erreur' => 'Le mot de passe saisi est incorrect.Merci de vérifier votre saisie',
  44.                         'form' => $form->createView()
  45.                     ]);
  46.                 }
  47.             } else {
  48.                 // le compte n'existe pas
  49.                 return $this->render('home/index.html.twig', [
  50.                     'controller_name' => 'Connexion à l\'extranet de Proxi-Info',
  51.                     'erreur' => 'Ce login n\'existe pas. Merci de vérifier votre saisie ou de contacter la société.',
  52.                     'form' => $form->createView()
  53.                 ]);
  54.             }
  55.         }
  56.         return $this->render('home/index.html.twig', [
  57.             'controller_name' => 'Connexion à l\'extranet de Proxi-Info',
  58.             'erreur' => '',
  59.             'form' => $form->createView()
  60.         ]);
  61.     }
  62. }