diff --git a/CHANGELOG.md b/CHANGELOG.md index d0dc6d7..41856fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # CHANGELOG ## 1.1.2 - Work in progress +- Bug #125: Fix validation in non-ajax requests (faenir) - Bug #122: Fix wrong email message for email address change (liviuk2) ## 1.1.1 - November 27, 2017 diff --git a/src/User/Controller/AdminController.php b/src/User/Controller/AdminController.php index 63ded04..7875629 100644 --- a/src/User/Controller/AdminController.php +++ b/src/User/Controller/AdminController.php @@ -130,7 +130,7 @@ class AdminController extends Controller $this->make(AjaxRequestModelValidator::class, [$user])->validate(); - if ($user->load(Yii::$app->request->post())) { + if ($user->load(Yii::$app->request->post()) && $user->validate()) { $this->trigger(UserEvent::EVENT_BEFORE_CREATE, $event); $mailService = MailFactory::makeWelcomeMailerService($user); diff --git a/src/User/Controller/RecoveryController.php b/src/User/Controller/RecoveryController.php index dee824b..cd2f621 100644 --- a/src/User/Controller/RecoveryController.php +++ b/src/User/Controller/RecoveryController.php @@ -94,7 +94,7 @@ class RecoveryController extends Controller $this->make(AjaxRequestModelValidator::class, [$form])->validate(); - if ($form->load(Yii::$app->request->post())) { + if ($form->load(Yii::$app->request->post()) && $form->validate()) { $this->trigger(FormEvent::EVENT_BEFORE_REQUEST, $event); $mailService = MailFactory::makeRecoveryMailerService($form->email); diff --git a/src/User/Controller/RegistrationController.php b/src/User/Controller/RegistrationController.php index f668387..2834f9d 100644 --- a/src/User/Controller/RegistrationController.php +++ b/src/User/Controller/RegistrationController.php @@ -145,7 +145,7 @@ class RegistrationController extends Controller $this->make(AjaxRequestModelValidator::class, [$user])->validate(); - if ($user->load(Yii::$app->request->post())) { + if ($user->load(Yii::$app->request->post()) && $user->validate()) { $this->trigger(SocialNetworkConnectEvent::EVENT_BEFORE_CONNECT, $event); $mailService = MailFactory::makeWelcomeMailerService($user); diff --git a/src/User/Service/PasswordRecoveryService.php b/src/User/Service/PasswordRecoveryService.php index 265d9ce..5f319b0 100644 --- a/src/User/Service/PasswordRecoveryService.php +++ b/src/User/Service/PasswordRecoveryService.php @@ -42,6 +42,10 @@ class PasswordRecoveryService implements ServiceInterface /** @var User $user */ $user = $this->query->whereEmail($this->email)->one(); + if ($user === null) { + throw new \RuntimeException('User not found.'); + } + $token = TokenFactory::makeRecoveryToken($user->id); if (!$token) {