Enhancements to Mailer exception handling fixes #79

This commit is contained in:
Kartik Visweswaran
2017-10-18 18:15:15 +05:30
parent 18ea0c664a
commit 3feae01a17
35 changed files with 302 additions and 38 deletions

View File

@ -16,16 +16,17 @@ use Da\User\Event\UserEvent;
use Da\User\Factory\TokenFactory;
use Da\User\Helper\SecurityHelper;
use Da\User\Model\User;
use Da\User\Traits\ContainerAwareTrait;
use Da\User\Traits\MailAwareTrait;
use Da\User\Traits\ModuleAwareTrait;
use Exception;
use yii\base\InvalidCallException;
use yii\log\Logger;
use Yii;
class UserRegisterService implements ServiceInterface
{
use ModuleAwareTrait;
use ContainerAwareTrait;
use MailAwareTrait;
protected $model;
protected $securityHelper;
@ -61,7 +62,6 @@ class UserRegisterService implements ServiceInterface
if (!$model->save()) {
$transaction->rollBack();
return false;
}
@ -72,8 +72,18 @@ class UserRegisterService implements ServiceInterface
if (isset($token)) {
$this->mailService->setViewParam('token', $token);
}
$this->mailService->run();
if (!$this->sendMail($model)) {
Yii::$app->session->setFlash(
'warning',
Yii::t(
'usuario',
'Error sending registration message to "{email}". Please try again later.',
['email' => $model->email]
)
);
$transaction->rollBack();
return false;
}
$model->trigger(UserEvent::EVENT_AFTER_REGISTER, $event);
$transaction->commit();