From 6652331b1e94992e13045f2da796bb982ca02016 Mon Sep 17 00:00:00 2001 From: Ferenc Papp Date: Fri, 11 Aug 2017 23:03:49 +0200 Subject: [PATCH 1/3] `last_login_at` fix Fixed updating of `last_login_at`. updateAttributes() doesn't work on the Identity class. --- src/User/Controller/SecurityController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/User/Controller/SecurityController.php b/src/User/Controller/SecurityController.php index 4e06757..1543329 100644 --- a/src/User/Controller/SecurityController.php +++ b/src/User/Controller/SecurityController.php @@ -15,6 +15,7 @@ use Da\User\Contracts\AuthClientInterface; use Da\User\Event\FormEvent; use Da\User\Event\UserEvent; use Da\User\Form\LoginForm; +use Da\User\Model\User; use Da\User\Query\SocialNetworkAccountQuery; use Da\User\Service\SocialNetworkAccountConnectService; use Da\User\Service\SocialNetworkAuthenticateService; @@ -124,7 +125,7 @@ class SecurityController extends Controller if ($form->load(Yii::$app->request->post())) { $this->trigger(FormEvent::EVENT_BEFORE_LOGIN, $event); if ($form->login()) { - Yii::$app->getUser()->identity->updateAttributes(['last_login_at' => time()]); + User::findOne(Yii::$app->getUser()->getId())->updateAttributes(['last_login_at' => time()]); $this->trigger(FormEvent::EVENT_AFTER_LOGIN, $event); From 2217d0461345a04b4d0c5da9f8d4072ed3ce0dcd Mon Sep 17 00:00:00 2001 From: Ferenc Papp Date: Sat, 12 Aug 2017 16:59:24 +0200 Subject: [PATCH 2/3] Update SecurityController.php --- src/User/Controller/SecurityController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/User/Controller/SecurityController.php b/src/User/Controller/SecurityController.php index 1543329..f9a9ea5 100644 --- a/src/User/Controller/SecurityController.php +++ b/src/User/Controller/SecurityController.php @@ -125,7 +125,7 @@ class SecurityController extends Controller if ($form->load(Yii::$app->request->post())) { $this->trigger(FormEvent::EVENT_BEFORE_LOGIN, $event); if ($form->login()) { - User::findOne(Yii::$app->getUser()->getId())->updateAttributes(['last_login_at' => time()]); + $form->getUser()->updateAttributes(['last_login_at' => time()]); $this->trigger(FormEvent::EVENT_AFTER_LOGIN, $event); From fcf21f6af45ac8d39785ed563ff0738a6fdf0b95 Mon Sep 17 00:00:00 2001 From: Ferenc Papp Date: Sat, 12 Aug 2017 17:00:22 +0200 Subject: [PATCH 3/3] Update LoginForm.php --- src/User/Form/LoginForm.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/User/Form/LoginForm.php b/src/User/Form/LoginForm.php index c0f5f45..b67d4ed 100644 --- a/src/User/Form/LoginForm.php +++ b/src/User/Form/LoginForm.php @@ -137,4 +137,12 @@ class LoginForm extends Model return false; } + + /* + * @return User + */ + public function getUser() + { + return $this->user; + } }