Merge pull request #7229 from turbo124/v5-develop

Dropzone translations
This commit is contained in:
David Bomba 2022-02-22 07:52:58 +11:00 committed by GitHub
commit 7933f3ffba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 77 additions and 10 deletions

View File

@ -13,6 +13,7 @@ namespace App\Http\Controllers\Auth;
use App\Events\Contact\ContactLoggedIn;
use App\Http\Controllers\Controller;
use App\Http\ViewComposers\PortalComposer;
use App\Libraries\MultiDB;
use App\Models\Account;
use App\Models\ClientContact;
@ -20,10 +21,10 @@ use App\Models\Company;
use App\Utils\Ninja;
use Auth;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Route;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Route;
class ContactLoginController extends Controller
{
@ -131,6 +132,8 @@ class ContactLoginController extends Controller
return $response;
}
$this->setRedirectPath();
return $request->wantsJson()
? new JsonResponse([], 204)
: redirect()->intended($this->redirectPath());
@ -156,4 +159,22 @@ class ContactLoginController extends Controller
return redirect('/client/login');
}
private function setRedirectPath()
{
if(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_INVOICES)
$this->redirectTo = '/client/invoices';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_RECURRING_INVOICES)
$this->redirectTo = '/client/recurring_invoices';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_QUOTES)
$this->redirectTo = '/client/quotes';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_CREDITS)
$this->redirectTo = '/client/credits';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_TASKS)
$this->redirectTo = '/client/tasks';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_EXPENSES)
$this->redirectTo = '/client/expenses';
}
}

View File

@ -12,6 +12,7 @@
namespace App\Http\Controllers\ClientPortal;
use App\Http\Controllers\Controller;
use App\Http\ViewComposers\PortalComposer;
use App\Models\RecurringInvoice;
use Auth;
@ -36,16 +37,36 @@ class ContactHashLoginController extends Controller
}
return redirect('/client/invoices');
return redirect($this->setRedirectPath());
}
public function magicLink(string $magic_link)
{
return redirect('/client/invoices');
return redirect($this->setRedirectPath());
}
public function errorPage()
{
return render('generic.error', ['title' => session()->get('title'), 'notification' => session()->get('notification')]);
}
private function setRedirectPath()
{
if(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_INVOICES)
return '/client/invoices';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_RECURRING_INVOICES)
return '/client/recurring_invoices';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_QUOTES)
return '/client/quotes';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_CREDITS)
return '/client/credits';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_TASKS)
return '/client/tasks';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_EXPENSES)
return '/client/expenses';
}
}

View File

@ -11,6 +11,7 @@
namespace App\Http\Middleware;
use App\Http\ViewComposers\PortalComposer;
use App\Libraries\MultiDB;
use App\Models\Client;
use App\Models\ClientContact;
@ -59,7 +60,7 @@ class ContactKeyLogin
return redirect()->to($request->query('redirect'));
}
return redirect()->to('client/dashboard');
return redirect($this->setRedirectPath());
}
}
elseif ($request->segment(3) && config('ninja.db.multi_db_enabled')) {
@ -77,7 +78,7 @@ class ContactKeyLogin
return redirect()->to($request->query('next'));
}
return redirect()->to('client/dashboard');
return redirect($this->setRedirectPath());
}
}
@ -93,7 +94,7 @@ class ContactKeyLogin
return redirect($request->query('next'));
}
return redirect()->to('client/dashboard');
return redirect($this->setRedirectPath());
}
} elseif ($request->has('client_hash') && config('ninja.db.multi_db_enabled')) {
if (MultiDB::findAndSetDbByClientHash($request->input('client_hash'))) {
@ -106,7 +107,7 @@ class ContactKeyLogin
$primary_contact->email = Str::random(6) . "@example.com"; $primary_contact->save();
auth()->guard('contact')->loginUsingId($primary_contact->id, true);
return redirect()->to('client/dashboard');
return redirect($this->setRedirectPath());
}
}
} elseif ($request->has('client_hash')) {
@ -119,10 +120,28 @@ class ContactKeyLogin
auth()->guard('contact')->loginUsingId($primary_contact->id, true);
return redirect()->to('client/dashboard');
return redirect($this->setRedirectPath());
}
}
return $next($request);
}
private function setRedirectPath()
{
if(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_INVOICES)
return '/client/invoices';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_RECURRING_INVOICES)
return '/client/recurring_invoices';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_QUOTES)
return '/client/quotes';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_CREDITS)
return '/client/credits';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_TASKS)
return '/client/tasks';
elseif(auth()->guard('contact')->user()->company->enabled_modules & PortalComposer::MODULE_EXPENSES)
return '/client/expenses';
}
}

View File

@ -11,3 +11,9 @@
</div>
</form>
</div>
<script>
Dropzone.prototype.defaultOptions.dictDefaultMessage = '{!! ctrans('texts.dropzone_default_message') !!}';
</script>