mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Add client filters to exports
This commit is contained in:
parent
f7094ecff7
commit
dccf182b52
@ -867,15 +867,15 @@ class BaseExport
|
||||
protected function addClientFilter(Builder $query, $clients): Builder
|
||||
{
|
||||
if(is_string($clients)) {
|
||||
$clients = explode(',', $clients);
|
||||
$clients = explode(',', $clients);
|
||||
}
|
||||
|
||||
$transformed_clients = $this->transformKeys($clients);
|
||||
|
||||
nlog($clients);
|
||||
nlog($transformed_clients);
|
||||
|
||||
if(count($transformed_clients) > 0) {
|
||||
nlog("yus");
|
||||
$query->whereIn('client_id', $transformed_clients);
|
||||
}
|
||||
|
||||
@ -1573,7 +1573,7 @@ class BaseExport
|
||||
|
||||
public function queueDocuments(Builder $query)
|
||||
{
|
||||
nlog("queue docs pls");
|
||||
|
||||
if($query->getModel() instanceof Document) {
|
||||
$documents = $query->pluck('id')->toArray();
|
||||
} else {
|
||||
@ -1584,8 +1584,6 @@ class BaseExport
|
||||
->toArray();
|
||||
}
|
||||
|
||||
nlog($documents);
|
||||
|
||||
if(count($documents) > 0) {
|
||||
|
||||
$user = $this->company->owner();
|
||||
|
@ -107,6 +107,12 @@ class CreditExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
if($this->input['status'] ?? false) {
|
||||
$query = $this->addCreditStatusFilter($query, $this->input['status']);
|
||||
}
|
||||
|
@ -62,6 +62,12 @@ class InvoiceExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
if($this->input['status'] ?? false) {
|
||||
$query = $this->addInvoiceStatusFilter($query, $this->input['status']);
|
||||
}
|
||||
|
@ -75,6 +75,12 @@ class InvoiceItemExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
if($this->input['status'] ?? false) {
|
||||
$query = $this->addInvoiceStatusFilter($query, $this->input['status']);
|
||||
}
|
||||
|
@ -61,6 +61,12 @@ class PaymentExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
$query = $this->addPaymentStatusFilters($query, $this->input['status'] ?? '');
|
||||
|
||||
if($this->input['document_email_attachment'] ?? false) {
|
||||
|
@ -63,6 +63,12 @@ class PurchaseOrderExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients)
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
|
||||
$query = $this->addPurchaseOrderStatusFilter($query, $this->input['status'] ?? '');
|
||||
|
||||
if($this->input['document_email_attachment'] ?? false) {
|
||||
|
@ -67,6 +67,12 @@ class PurchaseOrderItemExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
$query = $this->addPurchaseOrderStatusFilter($query, $this->input['status'] ?? '');
|
||||
|
||||
if($this->input['document_email_attachment'] ?? false) {
|
||||
|
@ -69,6 +69,12 @@ class QuoteExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
$query = $this->addQuoteStatusFilter($query, $this->input['status'] ?? '');
|
||||
|
||||
if($this->input['document_email_attachment'] ?? false) {
|
||||
|
@ -70,6 +70,12 @@ class QuoteItemExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
$query = $this->addQuoteStatusFilter($query, $this->input['status'] ?? '');
|
||||
|
||||
if($this->input['document_email_attachment'] ?? false) {
|
||||
|
@ -61,6 +61,12 @@ class RecurringInvoiceExport extends BaseExport
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($clients) {
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
}
|
||||
|
||||
$query = $this->addRecurringInvoiceStatusFilter($query, $this->input['status'] ?? '');
|
||||
|
||||
return $query;
|
||||
|
@ -72,10 +72,16 @@ class TaskExport extends BaseExport
|
||||
->where('is_deleted', $this->input['include_deleted'] ?? false);
|
||||
|
||||
$query = $this->addDateRange($query);
|
||||
|
||||
$clients = &$this->input['client_id'];
|
||||
|
||||
if($this->input['document_email_attachment'] ?? false) {
|
||||
if($clients)
|
||||
$query = $this->addClientFilter($query, $clients);
|
||||
|
||||
$document_attachments = &$this->input['document_email_attachment'];
|
||||
|
||||
if($document_attachments)
|
||||
$this->queueDocuments($query);
|
||||
}
|
||||
|
||||
return $query;
|
||||
|
||||
@ -132,9 +138,9 @@ class TaskExport extends BaseExport
|
||||
{
|
||||
$entity = [];
|
||||
$transformed_entity = $this->entity_transformer->transform($task);
|
||||
|
||||
nlog($this->input['report_keys']);
|
||||
foreach (array_values($this->input['report_keys']) as $key) {
|
||||
|
||||
nlog($key);
|
||||
$parts = explode('.', $key);
|
||||
|
||||
if (is_array($parts) && $parts[0] == 'task' && array_key_exists($parts[1], $transformed_entity)) {
|
||||
|
@ -66,7 +66,7 @@ class ARDetailReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ARDetailReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -65,7 +65,7 @@ class ARSummaryReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ARSummaryReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -36,7 +36,7 @@ class ActivityReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ActivityExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -65,7 +65,7 @@ class ClientBalanceReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ClientBalanceReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,7 @@ class ClientContactReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ContactExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -67,7 +67,7 @@ class ClientReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ClientExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -65,7 +65,7 @@ class ClientSalesReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ClientSalesReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,7 @@ class CreditReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), CreditExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -67,7 +67,7 @@ class DocumentReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), DocumentExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -68,7 +68,7 @@ class ExpenseReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ExpenseExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,7 @@ class InvoiceItemReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), InvoiceItemExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,7 @@ class InvoiceReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), InvoiceExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -67,7 +67,7 @@ class PaymentReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), PaymentExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -68,7 +68,7 @@ class ProductReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ProductExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -67,7 +67,7 @@ class ProductSalesReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ProductSalesExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -67,7 +67,7 @@ class ProfitAndLossController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ProfitLoss::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -34,7 +34,7 @@ class PurchaseOrderItemReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), PurchaseOrderItemExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -36,7 +36,7 @@ class PurchaseOrderReportController extends BaseController
|
||||
$user = auth()->user();
|
||||
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), PurchaseOrderExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,7 @@ class QuoteItemReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), QuoteItemExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,7 @@ class QuoteReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), QuoteExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -34,7 +34,7 @@ class RecurringInvoiceReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), RecurringInvoiceExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,8 @@ class TaskReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output'))
|
||||
{
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), TaskExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -66,7 +66,7 @@ class TaxSummaryReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), TaxSummaryReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -65,7 +65,7 @@ class UserSalesReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), UserSalesReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -34,7 +34,7 @@ class VendorReportController extends BaseController
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
if ($request->has('send_email') && $request->get('send_email') && $request->missing('output')) {
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), VendorExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
|
@ -796,15 +796,18 @@ class Client extends BaseModel implements HasLocalePreference
|
||||
{
|
||||
$defaults = [];
|
||||
|
||||
if (! (array_key_exists('terms', $data) && is_string($data['terms']) && strlen($data['terms']) > 1)) {
|
||||
$terms = &$data['terms'];
|
||||
$footer = &$data['footer'];
|
||||
|
||||
if (!$terms || ($terms && strlen((string)$terms) == 0)) {
|
||||
$defaults['terms'] = $this->getSetting($entity_name.'_terms');
|
||||
} elseif (array_key_exists('terms', $data)) {
|
||||
} elseif ($terms) {
|
||||
$defaults['terms'] = $data['terms'];
|
||||
}
|
||||
|
||||
if (! (array_key_exists('footer', $data) && is_string($data['footer']) && strlen($data['footer']) > 1)) {
|
||||
if (!$footer || ($footer && strlen((string)$footer) == 0)) {
|
||||
$defaults['footer'] = $this->getSetting($entity_name.'_footer');
|
||||
} elseif (array_key_exists('footer', $data)) {
|
||||
} elseif ($footer) {
|
||||
$defaults['footer'] = $data['footer'];
|
||||
}
|
||||
|
||||
|
@ -167,7 +167,8 @@ class BaseRepository
|
||||
$company_defaults = $client->setCompanyDefaults($data, lcfirst($resource));
|
||||
$data['exchange_rate'] = $company_defaults['exchange_rate'];
|
||||
$model->uses_inclusive_taxes = $client->getSetting('inclusive_taxes');
|
||||
$data = array_merge($company_defaults, $data);
|
||||
// $data = array_merge($company_defaults, $data);
|
||||
$data = array_merge($data, $company_defaults);
|
||||
}
|
||||
|
||||
$tmp_data = $data; //preserves the $data array
|
||||
|
Loading…
x
Reference in New Issue
Block a user