1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-19 16:01:34 +02:00

Merge pull request #8040 from turbo124/master

Improve query efficiency for create invoice with client
This commit is contained in:
David Bomba 2022-12-06 17:45:50 +11:00 committed by GitHub
commit 1463544bdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 7 deletions

View File

@ -219,6 +219,9 @@ class InvoiceController extends BaseController
$clients = $clients->where('clients.user_id', '=', Auth::user()->id);
}
if($clientPublicId != 0)
$clients->where('public_id', $clientPublicId);
$data = [
'clients' => $clients->get(),
'entityType' => $invoice->getEntityType(),

View File

@ -19,7 +19,7 @@ class MigrationLookup
private string $migration_notification = 'The Invoice Ninja v4 platform is now disabled for free users. Please <a class="btn btn-primary btn-sm" href="/migration/start">Migrate Now</a> to the new Invoice Ninja v5 platform to remain as a free account.<br><br>
*Not ready for v5? Upgrade to Pro or Enterprise to remain on v4. *Please note that the v4 platform will be "sunset" in November 2022.';
private string $silo = 'V4 is now disabled for your account. Please migrate. <a class="btn btn-primary btn-sm" href="/migration/start">Migrate Now</a>';
private string $silo = 'V4 is now disabled for your account. Please migrate. <a class="btn btn-primary btn-sm" href="/migration/start">Migrate Now</a> Upgrade to v5 and take advantage of our <a class="btn btn-danger btn-sm" href="https://invoicing.co/campaign/black_friday_2022">Black friday promo</a>';
public function handle(Request $request, Closure $next, $guard = 'user')
{

View File

@ -443,17 +443,25 @@ trait GenerateMigrationResources
if(!Utils::isNinja())
return $transformed;
$ninja_client = Client::where('public_id', $this->account->id)->first();
$db = DB_NINJA_1;
$account_id = 20432;
if($this->account->id > 1000000){
$db = DB_NINJA_2;
$account_id = 1000002;
}
$ninja_client = Client::on($db)->where('public_id', $this->account->id)->where('account_id', $account_id)->first();
if(!$ninja_client)
return $transformed;
$agts = AccountGatewayToken::where('client_id', $ninja_client->id)->get();
$agts = AccountGatewayToken::on($db)->where('client_id', $ninja_client->id)->get();
$is_default = true;
if(count($agts) == 0) {
$transformed[] = [
'client' => $ninja_client
'client' => $ninja_client->toArray()
];
}
@ -464,7 +472,7 @@ trait GenerateMigrationResources
if(!$payment_method)
continue;
$contact = Contact::where('id', $payment_method->contact_id)->withTrashed()->first();
$contact = Contact::on($db)->where('id', $payment_method->contact_id)->withTrashed()->first();
$transformed[] = [
'id' => $payment_method->id,
@ -476,7 +484,7 @@ trait GenerateMigrationResources
'gateway_type_id' => $payment_method->payment_type->gateway_type_id,
'is_default' => $is_default,
'meta' => $this->convertMeta($payment_method),
'client' => $contact->client->toArray(),
'client' => $ninja_client->toArray(),
'contacts' => $contact->client->contacts->toArray(),
];
}
@ -1432,7 +1440,9 @@ trait GenerateMigrationResources
case PAYMENT_TYPE_BITCOIN:
return 31;
case 2:
return 4;
return 1;
case 3:
return 2;
default:
return $payment_type_id;