From 1e018f1ba9dc49f17450fa8c328b23ed9f352fc2 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 10 May 2017 11:15:58 +0300 Subject: [PATCH] Multi-db fixes --- app/Http/Controllers/UserController.php | 1 + app/Http/Middleware/DatabaseLookup.php | 6 +++--- app/Models/LookupModel.php | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 1bb38f4eb902..0df9c05e7c06 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -261,6 +261,7 @@ class UserController extends BaseController if ($user->public_id) { Auth::logout(); + Session::flush(); $token = Password::getRepository()->create($user); return Redirect::to("/password/reset/{$token}"); diff --git a/app/Http/Middleware/DatabaseLookup.php b/app/Http/Middleware/DatabaseLookup.php index 8ea0cb133274..314cabee4d4c 100644 --- a/app/Http/Middleware/DatabaseLookup.php +++ b/app/Http/Middleware/DatabaseLookup.php @@ -20,15 +20,15 @@ class DatabaseLookup } if ($guard == 'user') { - if (Auth::check() && $server = session(SESSION_DB_SERVER)) { + if ($code = $request->confirmation_code) { + LookupUser::setServerByField('confirmation_code', $code); + } elseif ($server = session(SESSION_DB_SERVER)) { config(['database.default' => $server]); $user = Auth::user()->fresh(); $user->load('account'); Auth::setUser($user); } elseif ($email = $request->email) { LookupUser::setServerByField('email', $email); - } elseif ($code = $request->confirmation_code) { - LookupUser::setServerByField('confirmation_code', $code); } } elseif ($guard == 'api') { if ($token = $request->header('X-Ninja-Token')) { diff --git a/app/Models/LookupModel.php b/app/Models/LookupModel.php index 16e24805456c..536770c9874e 100644 --- a/app/Models/LookupModel.php +++ b/app/Models/LookupModel.php @@ -66,7 +66,7 @@ class LookupModel extends Eloquent $className = get_called_class(); $className = str_replace('Lookup', '', $className); $key = sprintf('server:%s:%s:%s', $className, $field, $value); - $isUser = $className == 'App\Models\User'; + $isUser = ($className == 'App\Models\User' && $field == 'email'); // check if we've cached this lookup if (env('MULTI_DB_CACHE_ENABLED') && $server = Cache::get($key)) {