Первичная реализация формы отправки нового письма с активацией аккаунта, чуть-чуть рефакторинга тестов

This commit is contained in:
ErickSkrauch
2016-03-13 02:19:00 +03:00
parent 7e2247ccb5
commit b9ee667829
11 changed files with 227 additions and 81 deletions

View File

@@ -82,25 +82,7 @@ class RegistrationForm extends BaseApiForm {
throw new ErrorException('Unable save email-activation model.');
}
/** @var \yii\swiftmailer\Mailer $mailer */
$mailer = Yii::$app->mailer;
/** @var \yii\swiftmailer\Message $message */
$message = $mailer->compose(
[
'html' => '@app/mails/registration-confirmation-html',
'text' => '@app/mails/registration-confirmation-text',
],
[
'key' => $emailActivation->key,
]
)
->setTo([$account->email => $account->username])
->setFrom([Yii::$app->params['fromEmail'] => 'Ely.by Accounts'])
->setSubject('Ely.by Account registration');
if (!$message->send()) {
throw new ErrorException('Unable send email with activation code.');
}
$this->sendMail($emailActivation, $account);
$transaction->commit();
} catch (ErrorException $e) {
@@ -111,4 +93,24 @@ class RegistrationForm extends BaseApiForm {
return $account;
}
// TODO: подумать, чтобы вынести этот метод в какую-то отдельную конструкцию, т.к. используется и внутри NewAccountActivationForm
public function sendMail(EmailActivation $emailActivation, Account $account) {
/** @var \yii\swiftmailer\Mailer $mailer */
$mailer = Yii::$app->mailer;
/** @var \yii\swiftmailer\Message $message */
$message = $mailer->compose([
'html' => '@app/mails/registration-confirmation-html',
'text' => '@app/mails/registration-confirmation-text',
], [
'key' => $emailActivation->key,
])
->setTo([$account->email => $account->username])
->setFrom([Yii::$app->params['fromEmail'] => 'Ely.by Accounts'])
->setSubject('Ely.by Account registration');
if (!$message->send()) {
throw new ErrorException('Unable send email with activation code.');
}
}
}