1
0
mirror of https://github.com/flarum/core.git synced 2025-10-18 18:26:07 +02:00

Refactor AccountActivationMailer and SendConfirmationEmailController (#2493)

* Add AccountActivationMailerTrait and use in AccountActivationMailer and SendConfirmationEmailController
* Remove prefix

Co-authored-by: Alexander Skvortsov <38059171+askvortsov1@users.noreply.github.com>
This commit is contained in:
sl-kr
2021-03-19 13:06:41 -04:00
committed by GitHub
parent fe8dda6fd0
commit 374189d48e
3 changed files with 67 additions and 51 deletions

View File

@@ -10,9 +10,8 @@
namespace Flarum\Api\Controller;
use Flarum\Http\UrlGenerator;
use Flarum\Mail\Job\SendRawEmailJob;
use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\User\EmailToken;
use Flarum\User\AccountActivationMailerTrait;
use Flarum\User\Exception\PermissionDeniedException;
use Illuminate\Contracts\Queue\Queue;
use Illuminate\Support\Arr;
@@ -24,6 +23,8 @@ use Symfony\Contracts\Translation\TranslatorInterface;
class SendConfirmationEmailController implements RequestHandlerInterface
{
use AccountActivationMailerTrait;
/**
* @var SettingsRepositoryInterface
*/
@@ -72,19 +73,10 @@ class SendConfirmationEmailController implements RequestHandlerInterface
throw new PermissionDeniedException;
}
$token = EmailToken::generate($actor->email, $actor->id);
$token->save();
$token = $this->generateToken($actor, $actor->email);
$data = $this->getEmailData($actor, $token);
$data = [
'{username}' => $actor->username,
'{url}' => $this->url->to('forum')->route('confirmEmail', ['token' => $token->token]),
'{forum}' => $this->settings->get('forum_title')
];
$body = $this->translator->trans('core.email.activate_account.body', $data);
$subject = $this->translator->trans('core.email.activate_account.subject');
$this->queue->push(new SendRawEmailJob($actor->email, $subject, $body));
$this->sendConfirmationEmail($actor, $data);
return new EmptyResponse;
}