before switch to turbo
This commit is contained in:
@@ -87,18 +87,7 @@ class SecurityController extends AbstractController
|
||||
} // no else, we already confirmed in the form itself
|
||||
$entityManager->persist(entity: $user);
|
||||
$entityManager->flush();
|
||||
|
||||
// generate a signed url and email it to the user
|
||||
$this->sendEmailConfirmation(verifyEmailRouteName: 'security_verify_email', user: $user,
|
||||
email: (new TemplatedEmail())
|
||||
->from(new Address(address: 'info@24unix.net', name: '24unix.net'))
|
||||
->to($user->getEmail())
|
||||
->subject(subject: 'Please Confirm your Email')
|
||||
->htmlTemplate(template: '@default/security/mail/registration.html.twig')
|
||||
->context(context: [
|
||||
'username' => $user->getUsername()
|
||||
])
|
||||
);
|
||||
$this->generateSignedUrlAndEmailToTheUser($user);
|
||||
|
||||
return $this->render(view: '@default/security/registration_finished.html.twig');
|
||||
}
|
||||
@@ -127,7 +116,7 @@ class SecurityController extends AbstractController
|
||||
try {
|
||||
$this->handleEmailConfirmation(request: $request, user: $user);
|
||||
} catch (VerifyEmailExceptionInterface $exception) {
|
||||
$this->addFlash(type: 'verify_email_error', message: $translator->trans(id: $exception->getReason(), parameters: [], domain: 'VerifyEmailBundle'));
|
||||
$this->addFlash(type: 'error', message: $translator->trans(id: $exception->getReason(), parameters: [], domain: 'VerifyEmailBundle'));
|
||||
|
||||
return $this->redirectToRoute(route: 'app_main');
|
||||
}
|
||||
@@ -315,11 +304,48 @@ class SecurityController extends AbstractController
|
||||
*/
|
||||
public function handleEmailConfirmation(Request $request, User /*UserInterface*/ $user): void
|
||||
{
|
||||
$this->verifyEmailHelper->validateEmailConfirmation(signedUrl: $request->getUri(), userId: $user->getId(), userEmail: $user->getEmail());
|
||||
$this->verifyEmailHelper->validateEmailConfirmation(signedUrl: $request->getUri(), userId: $user->getId(), userEmail: $user->getEmail());
|
||||
$user->setIsVerified(isVerified: true);
|
||||
$this->entityManager->persist(entity: $user);
|
||||
$this->entityManager->flush();
|
||||
}
|
||||
|
||||
$user->setIsVerified(isVerified: true);
|
||||
/**
|
||||
* @param mixed $user
|
||||
* @return void
|
||||
*/
|
||||
public function generateSignedUrlAndEmailToTheUser(mixed $user): void
|
||||
{
|
||||
$this->sendEmailConfirmation(verifyEmailRouteName: 'security_verify_email', user: $user,
|
||||
email: (new TemplatedEmail())
|
||||
->from(new Address(address: 'info@24unix.net', name: '24unix.net'))
|
||||
->to($user->getEmail())
|
||||
->subject(subject: 'Please Confirm your Email')
|
||||
->htmlTemplate(template: '@default/security/mail/registration.html.twig')
|
||||
->context(context: [
|
||||
'username' => $user->getUsername()
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
$this->entityManager->persist(entity: $user);
|
||||
$this->entityManager->flush();
|
||||
|
||||
#[Route('/security/resend/verify_email', name: 'security_resend_verify_email')]
|
||||
public function resendVerifyEmail(Request $request, UserRepository $userRepository)
|
||||
{
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
|
||||
$email = $request->getSession()->get('non_verified_email');
|
||||
$user = $userRepository->findOneBy(['email' => $email]);
|
||||
if (!$user) {
|
||||
throw $this->createNotFoundException('user not found for email');
|
||||
}
|
||||
|
||||
$this->generateSignedUrlAndEmailToTheUser(user: $user);
|
||||
$this->addFlash('success', 'eMail has been sent.');
|
||||
|
||||
return $this->redirectToRoute('app_main');
|
||||
}
|
||||
return $this->render('@default/security/resend_activation.html.twig');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user