diff --git a/app/Http/Middleware/ContactKeyLogin.php b/app/Http/Middleware/ContactKeyLogin.php index 8d2b4b02a175..3a401c98b73e 100644 --- a/app/Http/Middleware/ContactKeyLogin.php +++ b/app/Http/Middleware/ContactKeyLogin.php @@ -39,7 +39,23 @@ class ContactKeyLogin Auth::guard('contact')->logout(); } - if ($request->segment(3) && config('ninja.db.multi_db_enabled')) { + if ($request->segment(2) && $request->segment(2) == 'magic_link' && $request->segment(3)) { + $contact_email = Cache::get($request->segment(3)); + if($client_contact = ClientContact::where('email', $contact_email)->first()){ + + if(empty($client_contact->email)) + $client_contact->email = Str::random(6) . "@example.com"; $client_contact->save(); + + auth()->guard('contact')->login($client_contact, true); + + if ($request->query('redirect') && !empty($request->query('redirect'))) { + return redirect()->to($request->query('redirect')); + } + + return redirect()->to('client/dashboard'); + } + } + elseif ($request->segment(3) && config('ninja.db.multi_db_enabled')) { if (MultiDB::findAndSetDbByContactKey($request->segment(3))) { if($client_contact = ClientContact::where('contact_key', $request->segment(3))->first()){ @@ -84,21 +100,6 @@ class ContactKeyLogin auth()->guard('contact')->login($primary_contact, true); - return redirect()->to('client/dashboard'); - } - } elseif ($request->segment(2) && $request->segment(2) == 'magic_link' && $request->segment(3)) { - $contact_email = Cache::get($request->segment(3)); - if($client_contact = ClientContact::where('email', $contact_email)->first()){ - - if(empty($client_contact->email)) - $client_contact->email = Str::random(6) . "@example.com"; $client_contact->save(); - - auth()->guard('contact')->login($client_contact, true); - - if ($request->query('redirect') && !empty($request->query('redirect'))) { - return redirect()->to($request->query('redirect')); - } - return redirect()->to('client/dashboard'); } }