src/Controller/SecurityController.php line 30
<?phpnamespace App\Controller;use App\Entity\Parametre;use App\Entity\User;use App\Form\RegistrationType;use Symfony\Component\Mime\Address;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bridge\Twig\Mime\TemplatedEmail;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Mailer\MailerInterface;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;class SecurityController extends AbstractController{/*** Connexion utilisateur* @param AuthenticationUtils $authenticationUtils* @return Response Réponse*/#[Route("/login", name: "app_login", methods: ['GET', 'POST'])]#[Route("/espaceclient/espaceClient", name: "app_login_atlantic", methods: ['GET', 'POST'])]public function login(AuthenticationUtils $authenticationUtils, Request $request, EntityManagerInterface $entityManager): Response{// get the login error if there is one$error = $authenticationUtils->getLastAuthenticationError();// last username entered by the user$lastUsername = $authenticationUtils->getLastUsername();// on vérifie si le site est en train de faire un import$parametreRepository = $entityManager->getRepository(Parametre::class);$parametre = $parametreRepository->findOneBy(['type'=> "IMPORT",'code'=> 1,]);if($parametre === null)$bMaintenance = false;else$bMaintenance = true;return $this->render('pages/security/login.html.twig',['last_username' => $lastUsername,'error' => $error,'bMaintenance' => $bMaintenance,'login' => $request->query->get('Login'),'password' => $request->query->get('Password'),'URLretour' => $request->query->get('HOOK_URL'),'returntarget' => $request->query->get('returntarget'),'autosubmit' => $request->query->get('Login') == '26595' || $request->query->get('Login') == '26857' ? true : false]);}#[Route(path: '/logout', name: 'app_logout')]public function logout(): void{throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.');}/*** Inscription d'un nouveau compte** @param Request $request* @param EntityManagerInterface $manager* @param MailerInterface $mailer* @return Response*/#[Route("/registration", name: "security.registration")]public function registration(Request $request, EntityManagerInterface $manager, MailerInterface $mailer, UserPasswordHasherInterface $passwordHasher): Response{$user = new User($passwordHasher);// Ajout du rôle USER$user->setRoles(['ROLE_USER']);$user->setEnabled(false);$form = $this->createForm(RegistrationType::class, $user);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()) {$user = $form->getData();$manager->persist($user);$manager->flush();$this->addFlash('success','Thank you for your registration.After your registration has been confirmed by administrator, you will be able to connect to AirScout mobile app.');$email = (new TemplatedEmail())->from(new Address($this->getParameter('app.email_from'), ''))->to($this->getParameter('app.email_administrateur'))->subject('New user to be activated')->htmlTemplate('emails/user/emailAdminNewUser.html.twig')->context(['user' => $user,]);$mailer->send($email);return $this->render('pages/security/registrationok.html.twig', ['form' => $form->createView()]);}return $this->render('pages/security/registration.html.twig', ['form' => $form->createView()]);}}