mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Add all report types into scheduler
This commit is contained in:
parent
e591dbb7cd
commit
1233936936
@ -46,6 +46,7 @@ class StoreSchedulerRequest extends Request
|
||||
'parameters.entity' => ['bail', 'sometimes', 'string', 'in:invoice,credit,quote,purchase_order'],
|
||||
'parameters.entity_id' => ['bail', 'sometimes', 'string'],
|
||||
'parameters.report_name' => ['bail','sometimes', 'string', 'required_if:template,email_report', 'in:ar_summary_report,ar_detail_report,tax_summary_report,user_sales_report,client_sales_report,client_balance_report,product_sales_report'],
|
||||
'parameters.date_key' => ['bail','sometimes', 'string'],
|
||||
];
|
||||
|
||||
return $rules;
|
||||
|
@ -40,6 +40,10 @@ class UpdateSchedulerRequest extends Request
|
||||
'parameters.date_range' => 'bail|sometimes|string|in:last7_days,last30_days,last365_days,this_month,last_month,this_quarter,last_quarter,this_year,last_year,custom',
|
||||
'parameters.start_date' => ['bail', 'sometimes', 'date:Y-m-d', 'required_if:parameters.date_rate,custom'],
|
||||
'parameters.end_date' => ['bail', 'sometimes', 'date:Y-m-d', 'required_if:parameters.date_rate,custom', 'after_or_equal:parameters.start_date'],
|
||||
'parameters.entity' => ['bail', 'sometimes', 'string', 'in:invoice,credit,quote,purchase_order'],
|
||||
'parameters.entity_id' => ['bail', 'sometimes', 'string'],
|
||||
'parameters.report_name' => ['bail','sometimes', 'string', 'required_if:template,email_report', 'in:ar_summary_report,ar_detail_report,tax_summary_report,user_sales_report,client_sales_report,client_balance_report,product_sales_report'],
|
||||
'parameters.date_key' => ['bail','sometimes', 'string'],
|
||||
];
|
||||
|
||||
return $rules;
|
||||
|
@ -14,17 +14,31 @@ namespace App\Services\Scheduler;
|
||||
use App\Models\Client;
|
||||
use App\Models\Scheduler;
|
||||
use App\Mail\DownloadReport;
|
||||
use App\Export\CSV\TaskExport;
|
||||
use App\Export\CSV\QuoteExport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Export\CSV\ClientExport;
|
||||
use App\Export\CSV\CreditExport;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use App\Export\CSV\ContactExport;
|
||||
use App\Export\CSV\ExpenseExport;
|
||||
use App\Export\CSV\InvoiceExport;
|
||||
use App\Export\CSV\PaymentExport;
|
||||
use App\Export\CSV\ProductExport;
|
||||
use App\Jobs\Mail\NinjaMailerJob;
|
||||
use App\Export\CSV\DocumentExport;
|
||||
use App\Export\CSV\QuoteItemExport;
|
||||
use App\Services\Report\ProfitLoss;
|
||||
use App\Jobs\Mail\NinjaMailerObject;
|
||||
use App\Export\CSV\InvoiceItemExport;
|
||||
use App\Export\CSV\ProductSalesExport;
|
||||
use App\Services\Report\ARDetailReport;
|
||||
use App\Services\Report\ARSummaryReport;
|
||||
use App\Services\Report\ClientBalanceReport;
|
||||
use App\Services\Report\ClientSalesReport;
|
||||
use App\Services\Report\TaxSummaryReport;
|
||||
use App\Services\Report\UserSalesReport;
|
||||
use App\Services\Report\TaxSummaryReport;
|
||||
use App\Export\CSV\RecurringInvoiceExport;
|
||||
use App\Services\Report\ClientSalesReport;
|
||||
use App\Services\Report\ClientBalanceReport;
|
||||
|
||||
class EmailReport
|
||||
{
|
||||
@ -64,12 +78,26 @@ class EmailReport
|
||||
match($this->scheduler->parameters['report_name'])
|
||||
{
|
||||
'product_sales_report' => $export = (new ProductSalesExport($this->scheduler->company, $data)),
|
||||
'email_ar_detailed_report' => (new ARDetailReport($this->scheduler->company, $data)),
|
||||
'email_ar_summary_report' => (new ARSummaryReport($this->scheduler->company, $data)),
|
||||
'email_tax_summary_report' => (new TaxSummaryReport($this->scheduler->company, $data)),
|
||||
'email_client_balance_report' => (new ClientBalanceReport($this->scheduler->company, $data)),
|
||||
'email_client_sales_report' => (new ClientSalesReport($this->scheduler->company, $data)),
|
||||
'email_user_sales_report' => (new UserSalesReport($this->scheduler->company, $data)),
|
||||
'email_ar_detailed_report' => $export = (new ARDetailReport($this->scheduler->company, $data)),
|
||||
'email_ar_summary_report' => $export = (new ARSummaryReport($this->scheduler->company, $data)),
|
||||
'email_tax_summary_report' => $export = (new TaxSummaryReport($this->scheduler->company, $data)),
|
||||
'email_client_balance_report' => $export = (new ClientBalanceReport($this->scheduler->company, $data)),
|
||||
'email_client_sales_report' => $export = (new ClientSalesReport($this->scheduler->company, $data)),
|
||||
'email_user_sales_report' => $export = (new UserSalesReport($this->scheduler->company, $data)),
|
||||
'clients' => $export = (new ClientExport($this->scheduler->company, $data)),
|
||||
'client_contacts' => $export = (new ContactExport($this->scheduler->company, $data)),
|
||||
'credits' => $export = (new CreditExport($this->scheduler->company, $data)),
|
||||
'documents' => $export = (new DocumentExport($this->scheduler->company, $data)),
|
||||
'expenses' => $export = (new ExpenseExport($this->scheduler->company, $data)),
|
||||
'invoices' => $export = (new InvoiceExport($this->scheduler->company, $data)),
|
||||
'invoice_items' => $export = (new InvoiceItemExport($this->scheduler->company, $data)),
|
||||
'quotes' => $export = (new QuoteExport($this->scheduler->company, $data)),
|
||||
'quote_items' => $export = (new QuoteItemExport($this->scheduler->company, $data)),
|
||||
'recurring_invoices' => $export = (new RecurringInvoiceExport($this->scheduler->company, $data)),
|
||||
'payments' => $export = (new PaymentExport($this->scheduler->company, $data)),
|
||||
'products' => $export = (new ProductExport($this->scheduler->company, $data)),
|
||||
'tasks' => $export = (new TaskExport($this->scheduler->company, $data)),
|
||||
'profitloss' => $export = (new ProfitLoss($this->scheduler->company, $data)),
|
||||
default => $export = false,
|
||||
};
|
||||
|
||||
|
@ -51,10 +51,7 @@ class SchedulerService
|
||||
|
||||
private function email_report()
|
||||
{
|
||||
match($this->scheduler->template){
|
||||
'product_sales_report' => (new EmailReport($this->scheduler))->run(),
|
||||
default => null
|
||||
};
|
||||
(new EmailReport($this->scheduler))->run();
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user