This commit is contained in:
David Bomba 2021-12-09 16:34:23 +11:00
parent 5b7be30612
commit de0bebcd2c
10 changed files with 69 additions and 29 deletions

View File

@ -58,16 +58,21 @@ class ContactForgotPasswordController extends Controller
*/ */
public function showLinkRequestForm(Request $request) public function showLinkRequestForm(Request $request)
{ {
$account_id = $request->has('account_id') ? $request->get('account_id') : 1; // $account_id = $request->has('account_id') ? $request->get('account_id') : 1;
$account = Account::find($account_id); // $account = Account::find($account_id);
$account = false;
if($request->has('company_key'))
if(Ninja::isHosted() && $request->has('company_key'))
{
MultiDB::findAndSetDbByCompanyKey($request->input('company_key'));
$company = Company::where('company_key', $request->input('company_key'))->first(); $company = Company::where('company_key', $request->input('company_key'))->first();
else $account = $company->first();
$company = $account->companies->first(); }
if(!$account) if(!$account){
$account = Account::first(); $account = Account::first();
$company = $account->companies->first();
}
return $this->render('auth.passwords.request', [ return $this->render('auth.passwords.request', [
'title' => 'Client Password Reset', 'title' => 'Client Password Reset',
@ -95,10 +100,7 @@ class ContactForgotPasswordController extends Controller
$this->validateEmail($request); $this->validateEmail($request);
// $user = MultiDB::hasContact($request->input('email'));
$company = Company::where('company_key', $request->input('company_key'))->first(); $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(); $contact = ClientContact::where(['company_id' => $company->id, 'email' => $request->input('email')])->first();
$response = false; $response = false;

View File

@ -68,10 +68,22 @@ class ContactResetPasswordController extends Controller
*/ */
public function showResetForm(Request $request, $token = null) public function showResetForm(Request $request, $token = null)
{ {
$account_id = $request->has('account_id') ? $request->get('account_id') : 1;
$account = Account::find($account_id); if($request->has('company_key')){
$db = $account->companies->first()->db; MultiDB::findAndSetDbByCompanyKey($request->input('company_key'));
$company = $account->companies->first(); $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( return $this->render('auth.passwords.reset')->with(
['token' => $token, 'email' => $request->email, 'account' => $account, 'db' => $db, 'company' => $company] ['token' => $token, 'email' => $request->email, 'account' => $account, 'db' => $db, 'company' => $company]

View File

@ -79,8 +79,15 @@ class ForgotPasswordController extends Controller
public function showLinkRequestForm(Request $request) public function showLinkRequestForm(Request $request)
{ {
$account_id = $request->get('account_id'); if($request->has('company_key')){
$account = Account::find($account_id); 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]); return $this->render('auth.passwords.request', ['root' => 'themes', 'account' => $account]);
} }

View File

@ -53,8 +53,11 @@ class ResetPasswordController extends Controller
public function showResetForm(Request $request, $token = null) public function showResetForm(Request $request, $token = null)
{ {
$account_id = $request->get('account_id'); // $account_id = $request->get('account_id');
$account = Account::find($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]); return $this->render('auth.passwords.reset', ['root' => 'themes', 'token' => $token, 'account' => $account]);
} }

View File

@ -42,6 +42,9 @@ class InvoiceController extends Controller
*/ */
public function index(ShowInvoicesRequest $request) public function index(ShowInvoicesRequest $request)
{ {
// $request->request->remove('account_id');
// $request->request->remove('company_key');
return $this->render('invoices.index'); return $this->render('invoices.index');
} }
@ -77,7 +80,7 @@ class InvoiceController extends Controller
if ($request->query('mode') === 'fullscreen') { if ($request->query('mode') === 'fullscreen') {
return render('invoices.show-fullscreen', $data); return render('invoices.show-fullscreen', $data);
} }
// $request->fullUrlWithQuery(['q' => null]);
return $this->render('invoices.show', $data); return $this->render('invoices.show', $data);
} }
@ -189,9 +192,9 @@ class InvoiceController extends Controller
if ($invoices->count() == 1) { if ($invoices->count() == 1) {
$invoice = $invoices->first(); $invoice = $invoices->first();
$invitation = $invoice->invitations->first(); $invitation = $invoice->invitations->first();
//$file = $invoice->pdf_file_path($invitation);
$file = $invoice->service()->getInvoicePdf(auth()->user()); $file = $invoice->service()->getInvoicePdf(auth()->user());
// return response()->download($file, basename($file), ['Cache-Control:' => 'no-cache'])->deleteFileAfterSend(true);;
return response()->streamDownload(function () use($file) { return response()->streamDownload(function () use($file) {
echo Storage::get($file); echo Storage::get($file);
}, basename($file), ['Content-Type' => 'application/pdf']); }, basename($file), ['Content-Type' => 'application/pdf']);

View File

@ -40,9 +40,9 @@ class ApiSecretCheck
]; ];
return response() return response()
->json($error, 403) ->json($error, 403)
->header('X-App-Version', config('ninja.app_version')) ->header('X-App-Version', config('ninja.app_version'))
->header('X-Minimum-Client-Version', config('ninja.minimum_client_version')); ->header('X-Minimum-Client-Version', config('ninja.minimum_client_version'));
} }
} }
} }

View File

@ -31,8 +31,8 @@ class ContactAccount
if(!Ninja::isHosted()) { if(!Ninja::isHosted()) {
$account_id = Account::first()->id; $account = Account::first();
$request->request->add(['account_id' => $account_id]); $request->merge(['account_id' => $account->id, 'account_key' => $account->key]);
} }

View File

@ -1,4 +1,13 @@
<?php <?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\Http\Middleware; namespace App\Http\Middleware;

View File

@ -50,7 +50,8 @@ class SetDomainNameDb
]; ];
if($company = MultiDB::findAndSetDbByDomain($query)){ 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 else
{ {
@ -72,7 +73,8 @@ class SetDomainNameDb
]; ];
if($company = MultiDB::findAndSetDbByDomain($query)){ 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 else
{ {
@ -81,7 +83,6 @@ class SetDomainNameDb
} else { } else {
MultiDB::setDb('db-ninja-01'); MultiDB::setDb('db-ninja-01');
nlog("I could not set the DB - defaulting to DB1"); nlog("I could not set the DB - defaulting to DB1");
//abort(400, 'Domain not found');
} }
} }

View File

@ -283,6 +283,9 @@ class Client extends BaseModel implements HasLocalePreference
{ {
$date_formats = Cache::get('date_formats'); $date_formats = Cache::get('date_formats');
if(!$date_formats)
$this->buildCache(true);
return $date_formats->filter(function ($item) { return $date_formats->filter(function ($item) {
return $item->id == $this->getSetting('date_format_id'); return $item->id == $this->getSetting('date_format_id');
})->first()->format; })->first()->format;