From 067862cee7ff9e6279190c4e7499e7c200ba0b4e Mon Sep 17 00:00:00 2001 From: Faenir Date: Mon, 11 Dec 2017 13:14:36 +0300 Subject: [PATCH 1/3] Fix validation (#125). --- src/User/Controller/AdminController.php | 2 +- src/User/Controller/RecoveryController.php | 2 +- src/User/Controller/RegistrationController.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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); From 2e3673ff07a7a84d4f307b91ed569e5f27611f0a Mon Sep 17 00:00:00 2001 From: Faenir Date: Mon, 11 Dec 2017 13:15:26 +0300 Subject: [PATCH 2/3] Check is user found or not. --- src/User/Service/PasswordRecoveryService.php | 4 ++++ 1 file changed, 4 insertions(+) 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) { From 4dc6c2f4cd2e45163949b0ffcb2b7488ee37fa73 Mon Sep 17 00:00:00 2001 From: Arthur Khachaturov Date: Tue, 12 Dec 2017 13:24:30 +0300 Subject: [PATCH 3/3] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) 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