diff --git a/ProcessMaker/Listeners/LoginListener.php b/ProcessMaker/Listeners/LoginListener.php index c308f80009..1cdc6b9d3e 100644 --- a/ProcessMaker/Listeners/LoginListener.php +++ b/ProcessMaker/Listeners/LoginListener.php @@ -2,24 +2,29 @@ namespace ProcessMaker\Listeners; -use Carbon\Carbon; +use ProcessMaker\Models\User; use Illuminate\Auth\Events\Login; class LoginListener { /** - * Handle the event. + * Updated the user "loggedin_at" attribute + * + * @param \Illuminate\Auth\Events\Login $event * - * @param Illuminate\Auth\Events\Login $user * @return void */ - public function handle(Login $event) + public function handle(Login $event): void { - // Grab our user that was logged in $user = $event->user; - // Update the last_login + + if (!$user instanceof User) { + return; + } + $user->timestamps = false; - $user->loggedin_at = Carbon::now(); + + $user->setAttribute('loggedin_at', now()); $user->save(); } } diff --git a/ProcessMaker/Models/User.php b/ProcessMaker/Models/User.php index c1bc386e3d..670f9834fb 100644 --- a/ProcessMaker/Models/User.php +++ b/ProcessMaker/Models/User.php @@ -137,6 +137,7 @@ class User extends Authenticatable implements HasMedia 'is_administrator' => 'bool', 'meta' => 'object', 'active_at' => 'datetime', + 'loggedin_at' => 'datetime', 'schedule' => 'array', 'preferences_2fa' => 'array', ];