<?php
namespace App\Controller;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
class SecurityController extends AbstractController
{
private ManagerRegistry $doctrine;
public function __construct(ManagerRegistry $doctrine)
{
$this->doctrine = $doctrine;
}
/**
* @Route("/", name="homepage")
* @return \Symfony\Component\HttpFoundation\Response
*/
public function homepage()
{
return $this->redirectToRoute('reservation_home');
}
/**
* @Route("/login", name="login")
* @param AuthenticationUtils $authenticationUtils
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function login(AuthenticationUtils $authenticationUtils, Request $request)
{
$error = $authenticationUtils->getLastAuthenticationError();
$lastUsername = $authenticationUtils->getLastUsername();
// TODO: confrontarsi con Matteo per capire se va bene
$user = "anon.";
$messaggioError = null;
$messaggioSuccess = null;
if ($this->get('security.token_storage')->getToken() != null) {
$user = $this->get('security.token_storage')->getToken()->getUser();
$request->get('messaggioError') ? $messaggioError = $request->get('messaggioError') : $messaggioError = null;
$request->get('messaggioSuccess') ? $messaggioSuccess = $request->get('messaggioSuccess') : $messaggioSuccess = null;
}
if ($request->get('canc') and $user != "anon.") {
return $this->redirectToRoute('app_logout');
} else {
return $this->render('security/login.html.twig', [
'last_username' => $lastUsername,
'messaggioError' => $messaggioError,
'messaggioSuccess' => $messaggioSuccess,
'error' => $error,
]);
}
}
}