- Ajout de la vue et du fonctionement de l'inscription.
- Ajout de la vue connexion.
This commit is contained in:
40
src/Controller/LoginController.php
Normal file
40
src/Controller/LoginController.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
|
||||
|
||||
|
||||
class LoginController extends AbstractController
|
||||
{
|
||||
#[Route('/login', name: 'app_login')]
|
||||
public function login(AuthenticationUtils $authenticationUtils): Response
|
||||
{
|
||||
$error = $authenticationUtils->getLastAuthenticationError();
|
||||
$lastUsername = $authenticationUtils->getLastUsername();
|
||||
|
||||
if ($error) {
|
||||
$this->addFlash('error', 'Les identifiants sont incorrects.');
|
||||
}
|
||||
|
||||
if ($this->getUser()) {
|
||||
$this->addFlash('success', 'Connexion réussie !');
|
||||
return $this->redirectToRoute('home');
|
||||
}
|
||||
|
||||
return $this->render('login/index.html.twig', [
|
||||
'last_username' => $lastUsername,
|
||||
'error' => $error,
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/logout', name: 'app_logout')]
|
||||
public function logout(): Response
|
||||
{
|
||||
return $this->redirectToRoute('app_login');
|
||||
}
|
||||
}
|
44
src/Controller/RegistrationController.php
Normal file
44
src/Controller/RegistrationController.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\Form\RegistrationType;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
|
||||
|
||||
class RegistrationController extends AbstractController
|
||||
{
|
||||
private $entityManager;
|
||||
|
||||
public function __construct(EntityManagerInterface $entityManager) // Injection du service EntityManagerInterface
|
||||
{
|
||||
$this->entityManager = $entityManager;
|
||||
}
|
||||
#[Route('/registration', name: 'app_registration')]
|
||||
public function register (Request $request): Response
|
||||
{
|
||||
$user = new User();
|
||||
$form = $this->createForm(RegistrationType::class, $user);
|
||||
|
||||
$form->handleRequest($request);
|
||||
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
// Utilisation de l'EntityManager injecté
|
||||
$this->entityManager->persist($user);
|
||||
$this->entityManager->flush();
|
||||
|
||||
$this->addFlash('success', 'Votre compte a été créé avec succès !');
|
||||
return $this->redirectToRoute('home');
|
||||
}
|
||||
|
||||
return $this->render('registration/index.html.twig', [
|
||||
'form' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user