mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-01 05:54:36 -04:00
Fixes for refresh query
This commit is contained in:
parent
339795b555
commit
d36fdb4025
@ -133,30 +133,7 @@ class BaseController extends Controller
|
|||||||
protected function refreshResponse($query)
|
protected function refreshResponse($query)
|
||||||
{
|
{
|
||||||
|
|
||||||
$includes = [
|
// $this->manager->parseIncludes($includes);
|
||||||
'company.tax_rates',
|
|
||||||
'company.clients',
|
|
||||||
'company.clients.contacts',
|
|
||||||
'company.tax_rates',
|
|
||||||
'company.groups',
|
|
||||||
'company.company_gateways',
|
|
||||||
'company.products',
|
|
||||||
'company.invoices',
|
|
||||||
'company.invoices.invitations',
|
|
||||||
'company.invoices.documents',
|
|
||||||
'company.payments',
|
|
||||||
'company.quotes.invitations',
|
|
||||||
'company.quotes.documents',
|
|
||||||
'company.credits.invitations',
|
|
||||||
'company.credits',
|
|
||||||
'company.payment_terms',
|
|
||||||
'company.vendors',
|
|
||||||
'company.expenses',
|
|
||||||
'company.tasks',
|
|
||||||
];
|
|
||||||
|
|
||||||
$this->manager->parseIncludes($includes);
|
|
||||||
|
|
||||||
|
|
||||||
$this->serializer = request()->input('serializer') ?: EntityTransformer::API_SERIALIZER_ARRAY;
|
$this->serializer = request()->input('serializer') ?: EntityTransformer::API_SERIALIZER_ARRAY;
|
||||||
|
|
||||||
@ -168,40 +145,59 @@ class BaseController extends Controller
|
|||||||
|
|
||||||
$transformer = new $this->entity_transformer(Input::get('serializer'));
|
$transformer = new $this->entity_transformer(Input::get('serializer'));
|
||||||
|
|
||||||
//$includes = $transformer->getDefaultIncludes();
|
|
||||||
// $includes = $this->getRequestIncludes($includes);
|
|
||||||
|
|
||||||
//info(print_r($includes,1));
|
|
||||||
//info(print_r($includes,1));
|
|
||||||
|
|
||||||
$updated_at = request()->has('updated_at') ? request()->input('updated_at') : 0;
|
$updated_at = request()->has('updated_at') ? request()->input('updated_at') : 0;
|
||||||
$updated_at = date('Y-m-d H:i:s', $updated_at);
|
$updated_at = date('Y-m-d H:i:s', $updated_at);
|
||||||
|
|
||||||
//info($updated_at);
|
|
||||||
|
|
||||||
$query->with(
|
$query->with(
|
||||||
[
|
[
|
||||||
'company' => function ($query) use($updated_at){$query->whereNotNull('updated_at');},
|
'company' => function ($query) use($updated_at){
|
||||||
'company.clients' =>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
$query->whereNotNull('updated_at');
|
||||||
'company.clients.contacts'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
},
|
||||||
'company.tax_rates'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
'company.clients'=>function ($query) use($updated_at){
|
||||||
'company.groups'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
$query->where('clients.updated_at', '>=', $updated_at)->with('contacts');
|
||||||
'company.company_gateways'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
},
|
||||||
'company.products'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
'company.tax_rates'=>function ($query) use($updated_at){
|
||||||
'company.invoices'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
'company.invoices.invitations'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
},
|
||||||
'company.invoices.documents'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
'company.groups'=>function ($query) use($updated_at){
|
||||||
'company.payments'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
'company.quotes.invitations'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
},
|
||||||
'company.quotes'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
'company.company_gateways'=>function ($query) use($updated_at){
|
||||||
'company.credits'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
$query->where('updated_at', '>=', $updated_at)->with('gateway');
|
||||||
'company.credits.invitations'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
},
|
||||||
'company.payment_terms'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
'company.products'=>function ($query) use($updated_at){
|
||||||
'company.vendors'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
'company.expenses'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
},
|
||||||
'company.tasks'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
'company.invoices'=>function ($query) use($updated_at){
|
||||||
'company.projects'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
$query->where('updated_at', '>=', $updated_at)->with('invitations','documents');
|
||||||
'company.designs'=>function ($query) use($updated_at){$query->where('updated_at', '>=', $updated_at);},
|
},
|
||||||
|
'company.payments'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at)->with('paymentables');
|
||||||
|
},
|
||||||
|
'company.quotes'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at)->with('invitations','documents');
|
||||||
|
},
|
||||||
|
'company.credits'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at)->with('invitations','documents');
|
||||||
|
},
|
||||||
|
'company.payment_terms'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
|
},
|
||||||
|
'company.vendors'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at)->with('contacts');
|
||||||
|
},
|
||||||
|
'company.expenses'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
|
},
|
||||||
|
'company.tasks'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
|
},
|
||||||
|
'company.projects'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
|
},
|
||||||
|
'company.designs'=>function ($query) use($updated_at){
|
||||||
|
$query->where('updated_at', '>=', $updated_at);
|
||||||
|
},
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ class QueryLogging
|
|||||||
|
|
||||||
Log::info($request->method() . ' - ' . $request->url() . ": $count queries - " . $time);
|
Log::info($request->method() . ' - ' . $request->url() . ": $count queries - " . $time);
|
||||||
|
|
||||||
// if($count > 100)
|
// if($count > 700)
|
||||||
// Log::info($queries);
|
// Log::info($queries);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,6 @@ class BaseRepository
|
|||||||
$tmp_data = $data;
|
$tmp_data = $data;
|
||||||
|
|
||||||
/* We need to unset some variable as we sometimes unguard the model */
|
/* We need to unset some variable as we sometimes unguard the model */
|
||||||
|
|
||||||
if (isset($tmp_data['invitations'])) {
|
if (isset($tmp_data['invitations'])) {
|
||||||
unset($tmp_data['invitations']);
|
unset($tmp_data['invitations']);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ class CreateInvitations extends AbstractService
|
|||||||
$invitation = InvoiceInvitation::whereCompanyId($this->invoice->company_id)
|
$invitation = InvoiceInvitation::whereCompanyId($this->invoice->company_id)
|
||||||
->whereClientContactId($contact->id)
|
->whereClientContactId($contact->id)
|
||||||
->whereInvoiceId($this->invoice->id)
|
->whereInvoiceId($this->invoice->id)
|
||||||
|
->withTrashed()
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
if (!$invitation && $contact->send_email) {
|
if (!$invitation && $contact->send_email) {
|
||||||
|
@ -125,6 +125,15 @@ class InvoiceTest extends TestCase
|
|||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->post('/api/v1/invoices/', $invoice)
|
])->post('/api/v1/invoices/', $invoice)
|
||||||
->assertStatus(200);
|
->assertStatus(200);
|
||||||
|
|
||||||
|
|
||||||
|
//test that the same request should produce a validation error due
|
||||||
|
//to duplicate number being used.
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->post('/api/v1/invoices/', $invoice)
|
||||||
|
->assertStatus(302);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDeleteInvoice()
|
public function testDeleteInvoice()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user