diff --git a/app/Http/Controllers/Auth/ContactForgotPasswordController.php b/app/Http/Controllers/Auth/ContactForgotPasswordController.php index 9481a7d9d277..ef6ca6c2b2d9 100644 --- a/app/Http/Controllers/Auth/ContactForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ContactForgotPasswordController.php @@ -58,16 +58,21 @@ class ContactForgotPasswordController extends Controller */ public function showLinkRequestForm(Request $request) { - $account_id = $request->has('account_id') ? $request->get('account_id') : 1; - $account = Account::find($account_id); - - if($request->has('company_key')) + // $account_id = $request->has('account_id') ? $request->get('account_id') : 1; + // $account = Account::find($account_id); + $account = false; + + if(Ninja::isHosted() && $request->has('company_key')) + { + MultiDB::findAndSetDbByCompanyKey($request->input('company_key')); $company = Company::where('company_key', $request->input('company_key'))->first(); - else - $company = $account->companies->first(); + $account = $company->first(); + } - if(!$account) + if(!$account){ $account = Account::first(); + $company = $account->companies->first(); + } return $this->render('auth.passwords.request', [ 'title' => 'Client Password Reset', @@ -95,10 +100,7 @@ class ContactForgotPasswordController extends Controller $this->validateEmail($request); - // $user = MultiDB::hasContact($request->input('email')); $company = Company::where('company_key', $request->input('company_key'))->first(); - //$contact = MultiDB::findContact(['company_id' => $company->id, 'email' => $request->input('email')]); - nlog(['company_id' => $company->id, 'email' => $request->input('email')]); $contact = ClientContact::where(['company_id' => $company->id, 'email' => $request->input('email')])->first(); $response = false; diff --git a/app/Http/Controllers/Auth/ContactResetPasswordController.php b/app/Http/Controllers/Auth/ContactResetPasswordController.php index f5a981ae1859..0d245026a590 100644 --- a/app/Http/Controllers/Auth/ContactResetPasswordController.php +++ b/app/Http/Controllers/Auth/ContactResetPasswordController.php @@ -68,10 +68,22 @@ class ContactResetPasswordController extends Controller */ public function showResetForm(Request $request, $token = null) { - $account_id = $request->has('account_id') ? $request->get('account_id') : 1; - $account = Account::find($account_id); - $db = $account->companies->first()->db; - $company = $account->companies->first(); + + if($request->has('company_key')){ + MultiDB::findAndSetDbByCompanyKey($request->input('company_key')); + $company = Company::where('company_key', $request->input('company_key'))->first(); + $db = $company->db; + $account = $company->account; + } + else { + + $account_id = $request->has('account_id') ? $request->get('account_id') : 1; + $account = Account::find($account_id); + $db = $account->companies->first()->db; + $company = $account->companies->first(); + + } + return $this->render('auth.passwords.reset')->with( ['token' => $token, 'email' => $request->email, 'account' => $account, 'db' => $db, 'company' => $company] diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index 4d29e66e1518..ecffd294af7f 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -79,8 +79,15 @@ class ForgotPasswordController extends Controller public function showLinkRequestForm(Request $request) { - $account_id = $request->get('account_id'); - $account = Account::find($account_id); + if($request->has('company_key')){ + MultiDB::findAndSetDbByCompanyKey($request->input('company_key')); + $company = Company::where('company_key', $request->input('company_key'))->first(); + $account = $company->account; + } + else{ + $account_id = $request->get('account_id'); + $account = Account::find($account_id); + } return $this->render('auth.passwords.request', ['root' => 'themes', 'account' => $account]); } diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index 7c6cae9eafaf..5a4f9476286a 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -53,8 +53,11 @@ class ResetPasswordController extends Controller public function showResetForm(Request $request, $token = null) { - $account_id = $request->get('account_id'); - $account = Account::find($account_id); + // $account_id = $request->get('account_id'); + // $account = Account::find($account_id); + MultiDB::findAndSetDbByCompanyKey($request->input('company_key')); + $company = Company::where('company_key', $request->input('company_key'))->first(); + $account = $company->account; return $this->render('auth.passwords.reset', ['root' => 'themes', 'token' => $token, 'account' => $account]); } diff --git a/app/Http/Controllers/ClientPortal/InvoiceController.php b/app/Http/Controllers/ClientPortal/InvoiceController.php index cd66cfcbd541..25471f73ea26 100644 --- a/app/Http/Controllers/ClientPortal/InvoiceController.php +++ b/app/Http/Controllers/ClientPortal/InvoiceController.php @@ -42,6 +42,9 @@ class InvoiceController extends Controller */ public function index(ShowInvoicesRequest $request) { + // $request->request->remove('account_id'); + // $request->request->remove('company_key'); + return $this->render('invoices.index'); } @@ -77,7 +80,7 @@ class InvoiceController extends Controller if ($request->query('mode') === 'fullscreen') { return render('invoices.show-fullscreen', $data); } - + // $request->fullUrlWithQuery(['q' => null]); return $this->render('invoices.show', $data); } @@ -189,9 +192,9 @@ class InvoiceController extends Controller if ($invoices->count() == 1) { $invoice = $invoices->first(); $invitation = $invoice->invitations->first(); - //$file = $invoice->pdf_file_path($invitation); + $file = $invoice->service()->getInvoicePdf(auth()->user()); - // return response()->download($file, basename($file), ['Cache-Control:' => 'no-cache'])->deleteFileAfterSend(true);; + return response()->streamDownload(function () use($file) { echo Storage::get($file); }, basename($file), ['Content-Type' => 'application/pdf']); diff --git a/app/Http/Middleware/ApiSecretCheck.php b/app/Http/Middleware/ApiSecretCheck.php index 972f37f5c7b9..2dea07d6395d 100644 --- a/app/Http/Middleware/ApiSecretCheck.php +++ b/app/Http/Middleware/ApiSecretCheck.php @@ -40,9 +40,9 @@ class ApiSecretCheck ]; return response() - ->json($error, 403) - ->header('X-App-Version', config('ninja.app_version')) - ->header('X-Minimum-Client-Version', config('ninja.minimum_client_version')); + ->json($error, 403) + ->header('X-App-Version', config('ninja.app_version')) + ->header('X-Minimum-Client-Version', config('ninja.minimum_client_version')); } } } diff --git a/app/Http/Middleware/ContactAccount.php b/app/Http/Middleware/ContactAccount.php index 79faf0a9c740..7ab922edfdfd 100644 --- a/app/Http/Middleware/ContactAccount.php +++ b/app/Http/Middleware/ContactAccount.php @@ -31,8 +31,8 @@ class ContactAccount if(!Ninja::isHosted()) { - $account_id = Account::first()->id; - $request->request->add(['account_id' => $account_id]); + $account = Account::first(); + $request->merge(['account_id' => $account->id, 'account_key' => $account->key]); } diff --git a/app/Http/Middleware/Locale.php b/app/Http/Middleware/Locale.php index 7ccf7988a8ce..e8c9e4e14835 100644 --- a/app/Http/Middleware/Locale.php +++ b/app/Http/Middleware/Locale.php @@ -1,4 +1,13 @@ request->add(['account_id' => $company->account_id, 'company_key' => $company->company_key]); + $request->merge(['company_key' => $company->company_key]); + // $request->merge(['account_id' => $company->account_id, 'company_key' => $company->company_key]); } else { @@ -72,7 +73,8 @@ class SetDomainNameDb ]; if($company = MultiDB::findAndSetDbByDomain($query)){ - $request->request->add(['account_id' => $company->account_id, 'company_key' => $company->company_key]); + $request->merge(['company_key' => $company->company_key]); + //$request->merge(['account_id' => $company->account_id, 'company_key' => $company->company_key]); } else { @@ -81,7 +83,6 @@ class SetDomainNameDb } else { MultiDB::setDb('db-ninja-01'); nlog("I could not set the DB - defaulting to DB1"); - //abort(400, 'Domain not found'); } } diff --git a/app/Models/Client.php b/app/Models/Client.php index 55ac5fe02471..a002d18828d9 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -283,6 +283,9 @@ class Client extends BaseModel implements HasLocalePreference { $date_formats = Cache::get('date_formats'); + if(!$date_formats) + $this->buildCache(true); + return $date_formats->filter(function ($item) { return $item->id == $this->getSetting('date_format_id'); })->first()->format;