mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Fixes for redirect after auth in cp
This commit is contained in:
parent
3a4f47c1a9
commit
d2d436da8f
@ -41,6 +41,9 @@ class ContactLoginController extends Controller
|
||||
$company = false;
|
||||
$account = false;
|
||||
|
||||
if($request->query('intended'))
|
||||
$request->session()->put('url.intended', $request->query('intended'));
|
||||
|
||||
if ($request->session()->has('company_key')) {
|
||||
MultiDB::findAndSetDbByCompanyKey($request->session()->get('company_key'));
|
||||
$company = Company::where('company_key', $request->session()->get('company_key'))->first();
|
||||
@ -81,6 +84,7 @@ class ContactLoginController extends Controller
|
||||
|
||||
public function login(Request $request)
|
||||
{
|
||||
|
||||
Auth::shouldUse('contact');
|
||||
|
||||
if (Ninja::isHosted() && $request->has('company_key')) {
|
||||
@ -125,6 +129,9 @@ class ContactLoginController extends Controller
|
||||
|
||||
protected function sendLoginResponse(Request $request)
|
||||
{
|
||||
|
||||
$intended = $request->session()->has('url.intended') ? $request->session()->get('url.intended') : false;
|
||||
|
||||
$request->session()->regenerate();
|
||||
|
||||
$this->clearLoginAttempts($request);
|
||||
@ -134,6 +141,9 @@ class ContactLoginController extends Controller
|
||||
}
|
||||
|
||||
$this->setRedirectPath();
|
||||
|
||||
if($intended)
|
||||
$this->redirectTo = $intended;
|
||||
|
||||
return $request->wantsJson()
|
||||
? new JsonResponse([], 204)
|
||||
@ -146,8 +156,8 @@ class ContactLoginController extends Controller
|
||||
|
||||
event(new ContactLoggedIn($client, $client->company, Ninja::eventVars()));
|
||||
|
||||
if (session()->get('url.intended')) {
|
||||
return redirect(session()->get('url.intended'));
|
||||
if ($request->session()->has('url.intended')) {
|
||||
return redirect($request->session()->get('url.intended'));
|
||||
}
|
||||
|
||||
$this->setRedirectPath();
|
||||
@ -165,6 +175,7 @@ class ContactLoginController extends Controller
|
||||
|
||||
private function setRedirectPath()
|
||||
{
|
||||
|
||||
if (auth()->guard('contact')->user()->client->getSetting('enable_client_portal_dashboard') === true) {
|
||||
$this->redirectTo = '/client/dashboard';
|
||||
} elseif ((bool)(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_INVOICES)) {
|
||||
|
@ -114,15 +114,17 @@ class InvitationController extends Controller
|
||||
'invitation_key' => $invitation_key
|
||||
]);
|
||||
}
|
||||
|
||||
if(!auth()->guard('contact')->check()){
|
||||
$this->middleware('auth:contact');
|
||||
return redirect()->route('client.login', ['intended' => route('client.'.$entity.'.show', [$entity => $this->encodePrimaryKey($invitation->{$key}), 'silent' => $is_silent])]);
|
||||
}
|
||||
|
||||
$this->middleware('auth:contact');
|
||||
return redirect()->route('client.login');
|
||||
} else {
|
||||
request()->session()->invalidate();
|
||||
auth()->guard('contact')->loginUsingId($client_contact->id, true);
|
||||
}
|
||||
|
||||
|
||||
if (auth()->guard('contact')->user() && ! request()->has('silent') && ! $invitation->viewed_date) {
|
||||
$invitation->markViewed();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user