|
@@ -17,6 +17,7 @@ use Symfony\Component\Routing\Attribute\Route;
|
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
|
use SymfonyCasts\Bundle\VerifyEmail\Exception\VerifyEmailExceptionInterface;
|
|
use SymfonyCasts\Bundle\VerifyEmail\Exception\VerifyEmailExceptionInterface;
|
|
use Symfony\Component\Routing\Requirement\Requirement;
|
|
use Symfony\Component\Routing\Requirement\Requirement;
|
|
|
|
+use Symfony\Component\Mailer\MailerInterface;
|
|
|
|
|
|
class RegistrationController extends AbstractController
|
|
class RegistrationController extends AbstractController
|
|
{
|
|
{
|
|
@@ -25,8 +26,15 @@ class RegistrationController extends AbstractController
|
|
}
|
|
}
|
|
|
|
|
|
#[Route('/register', name: 'app_register')]
|
|
#[Route('/register', name: 'app_register')]
|
|
- public function register(Request $request, UserPasswordHasherInterface $userPasswordHasher, EntityManagerInterface $entityManager): Response
|
|
|
|
|
|
+ public function register(Request $request, UserPasswordHasherInterface $userPasswordHasher, EntityManagerInterface $entityManager, MailerInterface $mailer): Response
|
|
{
|
|
{
|
|
|
|
+
|
|
|
|
+ // SI l'utilisateur est déjà connecté, rediriger vers la page d'accueil
|
|
|
|
+ if ($this->getUser()) {
|
|
|
|
+ $this->addFlash('info', 'Vous êtes déjà connecté. Vous ne pouvez pas vous enregistrer à nouveau.');
|
|
|
|
+ return $this->redirectToRoute('app_main');
|
|
|
|
+ }
|
|
|
|
+
|
|
$user = new User();
|
|
$user = new User();
|
|
$form = $this->createForm(RegistrationFormType::class, $user);
|
|
$form = $this->createForm(RegistrationFormType::class, $user);
|
|
$form->handleRequest($request);
|
|
$form->handleRequest($request);
|
|
@@ -51,11 +59,23 @@ class RegistrationController extends AbstractController
|
|
->htmlTemplate('registration/confirmation_email.html.twig')
|
|
->htmlTemplate('registration/confirmation_email.html.twig')
|
|
->textTemplate('registration/confirmation_email.txt.twig')
|
|
->textTemplate('registration/confirmation_email.txt.twig')
|
|
);
|
|
);
|
|
|
|
+ $email = (new TemplatedEmail())
|
|
|
|
+ ->from(new Address($_ENV['CONTACT_EMAIL'], $_ENV['CONTACT_NAME']))
|
|
|
|
+ ->to((string) $user->getEmail())
|
|
|
|
+ ->subject('Votre compte a été créé')
|
|
|
|
+ ->htmlTemplate('admin/user/add.email.html.twig')
|
|
|
|
+ ->textTemplate('admin/user/add.email.txt.twig')
|
|
|
|
+ ->context([
|
|
|
|
+ 'user' => $user,
|
|
|
|
+ 'clearPassword' => $plainPassword,
|
|
|
|
+ ]);
|
|
|
|
+ $mailer->send($email);
|
|
|
|
|
|
// do anything else you need here, like send an email
|
|
// do anything else you need here, like send an email
|
|
|
|
|
|
|
|
+
|
|
$this->addFlash('success', 'Votre compte a été créé avec succès. Veuillez vérifier votre email pour confirmer votre adresse.');
|
|
$this->addFlash('success', 'Votre compte a été créé avec succès. Veuillez vérifier votre email pour confirmer votre adresse.');
|
|
- return $this->redirectToRoute('app_main');
|
|
|
|
|
|
+ return $this->redirectToRoute('app_login');
|
|
}
|
|
}
|
|
|
|
|
|
return $this->render('registration/register.html.twig', [
|
|
return $this->render('registration/register.html.twig', [
|
|
@@ -76,7 +96,7 @@ class RegistrationController extends AbstractController
|
|
);
|
|
);
|
|
|
|
|
|
$this->addFlash('success', 'Un nouvel email de confirmation a été envoyé à votre adresse email.');
|
|
$this->addFlash('success', 'Un nouvel email de confirmation a été envoyé à votre adresse email.');
|
|
- return $this->redirectToRoute('app_admin_user');
|
|
|
|
|
|
+ return $this->redirectToRoute('app_login');
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|