mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-31 14:34:34 -04:00
Fixes for magic links
This commit is contained in:
parent
36876070f7
commit
8d2cebb6e5
@ -39,7 +39,23 @@ class ContactKeyLogin
|
|||||||
Auth::guard('contact')->logout();
|
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 (MultiDB::findAndSetDbByContactKey($request->segment(3))) {
|
||||||
|
|
||||||
if($client_contact = ClientContact::where('contact_key', $request->segment(3))->first()){
|
if($client_contact = ClientContact::where('contact_key', $request->segment(3))->first()){
|
||||||
@ -84,21 +100,6 @@ class ContactKeyLogin
|
|||||||
|
|
||||||
auth()->guard('contact')->login($primary_contact, true);
|
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');
|
return redirect()->to('client/dashboard');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user