✨ feat(resetPassword): Adapte le titre et le texte du mail selon l'hôte.
This commit is contained in:
@@ -24,12 +24,18 @@ class HomeController extends AbstractController
|
||||
{
|
||||
|
||||
#[Route(path: '/',name: 'app_login',methods: ['GET', 'POST'])]
|
||||
public function index(AuthenticationUtils $authenticationUtils): Response
|
||||
public function index(Request $request,AuthenticationUtils $authenticationUtils): Response
|
||||
{
|
||||
if ($this->getUser()) {
|
||||
return $this->redirectToRoute('artemis_dashboard');
|
||||
}
|
||||
|
||||
$websiteTitle = "Mainframe";
|
||||
if($request->getHost() == "espace-client.siteconseil.fr") {
|
||||
$websiteTitle = "SARL SITECONSEIL";
|
||||
}
|
||||
return$this->render('admin/login.twig', [
|
||||
'websiteTitle' => $websiteTitle,
|
||||
'noIndex' => true,
|
||||
'last_username' => $authenticationUtils->getLastUsername(),
|
||||
'error' => $authenticationUtils->getLastAuthenticationError(),
|
||||
@@ -44,6 +50,10 @@ class HomeController extends AbstractController
|
||||
#[Route(path: '/forgot-password',name: 'app_forgotpassword',methods: ['GET', 'POST'])]
|
||||
public function forgotPassword(EventDispatcherInterface $eventDispatcher,Request $request): Response
|
||||
{
|
||||
$websiteTitle = "Mainframe";
|
||||
if($request->getHost() == "espace-client.siteconseil.fr") {
|
||||
$websiteTitle = "SARL SITECONSEIL";
|
||||
}
|
||||
$requestPasswordResetEvent = new ResetPasswordEvent();
|
||||
$form = $this->createForm(RequestPasswordRequestType::class,$requestPasswordResetEvent);
|
||||
$form->handleRequest($request);
|
||||
@@ -54,11 +64,17 @@ class HomeController extends AbstractController
|
||||
}
|
||||
return $this->render('admin/forgot-password.twig', [
|
||||
'form' => $form->createView(),
|
||||
'websiteTitle' => $websiteTitle,
|
||||
]);
|
||||
}
|
||||
#[Route(path: '/forgot-password/confirm/{id}/{token}',name: 'app_forgotpassword_confirm',methods: ['GET', 'POST'])]
|
||||
public function forgotPasswordConfirm(UserPasswordHasherInterface $userPasswordHasher,EventDispatcherInterface $eventDispatcher,Request $request,string $id,string $token,EntityManagerInterface $entityManager): Response
|
||||
{
|
||||
|
||||
$websiteTitle = "Mainframe";
|
||||
if($request->getHost() == "espace-client.siteconseil.fr") {
|
||||
$websiteTitle = "SARL SITECONSEIL";
|
||||
}
|
||||
$errorMessage = "Requête non valide.";
|
||||
// Vérifie si l'ID est numérique pour éviter des erreurs de base de données.
|
||||
if (!is_numeric($id)) {
|
||||
@@ -105,6 +121,7 @@ class HomeController extends AbstractController
|
||||
return $this->redirectToRoute('app_login');
|
||||
}
|
||||
return $this->render('admin/forgot-password-confirm.twig', [
|
||||
'websiteTitle' => $websiteTitle,
|
||||
'form' => $form->createView(),
|
||||
'noIndex' => true,
|
||||
'account' => $account,
|
||||
|
||||
@@ -9,6 +9,7 @@ use App\Service\Mailer\Mailer;
|
||||
use App\Service\ResetPassword\Event\ResetPasswordEvent;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
|
||||
#[AsEventListener(event: ResetPasswordEvent::class, method: 'onResetPassword')]
|
||||
@@ -17,7 +18,8 @@ class ResetPasswordSubscriber
|
||||
public function __construct(
|
||||
private readonly UrlGeneratorInterface $urlGenerator,
|
||||
private readonly EntityManagerInterface $entityManager,
|
||||
private readonly Mailer $mailer
|
||||
private readonly Mailer $mailer,
|
||||
private readonly RequestStack $requestStack,
|
||||
) {
|
||||
}
|
||||
|
||||
@@ -66,10 +68,14 @@ class ResetPasswordSubscriber
|
||||
UrlGeneratorInterface::ABSOLUTE_URL
|
||||
);
|
||||
|
||||
$title = "[Mainframe]";
|
||||
if($this->requestStack->getMainRequest()->getHost() == "espace-client.siteconseil.fr") {
|
||||
$title = "[SARL SITECONSEIL]";
|
||||
}
|
||||
$this->mailer->send(
|
||||
$account->getEmail(),
|
||||
$account->getUsername(),
|
||||
'[Mainframe] - Lien pour réinitialiser votre mot de passe',
|
||||
' - Lien pour réinitialiser votre mot de passe',
|
||||
'mails/artemis/reset.twig',
|
||||
[
|
||||
'account' => $account,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Mainframe - {% block title %}{% endblock %}</title>
|
||||
<title>{{ websiteTitle }} - {% block title %}{% endblock %}</title>
|
||||
|
||||
{% if noIndex is defined %}
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
@@ -12,7 +12,7 @@
|
||||
<link rel="icon" type="image/svg+xml" href="{{ asset('favicon/favicon.svg') }}" />
|
||||
<link rel="shortcut icon" href="{{ asset('favicon/favicon.ico') }}" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('favicon/apple-touch-icon.png') }}" />
|
||||
<meta name="apple-mobile-web-app-title" content="Mainframe" />
|
||||
<meta name="apple-mobile-web-app-title" content="{{ websiteTitle }}" />
|
||||
<link rel="manifest" href="{{ asset('favicon/site.webmanifest') }}" />
|
||||
{{ vite_asset('app.js',[]) }}
|
||||
</head>
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{% extends 'mails/base.twig' %}
|
||||
|
||||
{% block content %}
|
||||
<mj-text>Bonjour {{ datas.account.username }},</mj-text>
|
||||
<mj-text>Bonjour, </mj-text>
|
||||
|
||||
<mj-text>Nous avons reçu une demande de réinitialisation de mot de passe pour votre compte Mainframe.</mj-text>
|
||||
{% if 'ROLE_CUSTOMER' in datas.account.roles %}
|
||||
<mj-text>Nous avons reçu une demande de réinitialisation de mot de passe pour votre espace client.</mj-text>
|
||||
{% else %}
|
||||
<mj-text>Nous avons reçu une demande de réinitialisation de mot de passe pour votre compte Mainframe.</mj-text>
|
||||
{% endif %}
|
||||
|
||||
<mj-text>Pour réinitialiser votre mot de passe, veuillez cliquer sur le bouton ci-dessous. Ce lien est valable pour une durée limitée.</mj-text>
|
||||
|
||||
@@ -20,5 +24,9 @@
|
||||
<mj-text>Si vous n'avez pas demandé cette réinitialisation de mot de passe, veuillez ignorer cet e-mail. Votre mot de passe actuel restera inchangé.</mj-text>
|
||||
|
||||
<mj-text padding-top="20px">Cordialement,</mj-text>
|
||||
<mj-text>L'équipe Mainframe</mj-text>
|
||||
{% if 'ROLE_CUSTOMER' in datas.account.roles %}
|
||||
<mj-text>L'équipe de SARL SITECONSEIL</mj-text>
|
||||
{% else %}
|
||||
<mj-text>L'équipe Mainframe</mj-text>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user