INA-3 | Modify controllers to use newly created Job for sending reports via mail

This commit is contained in:
Nikola Cirkovic 2022-05-18 02:05:53 +02:00
parent 3b00edb3e2
commit 9680b3540f
14 changed files with 85 additions and 19 deletions

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\ContactExport; use App\Export\CSV\ContactExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,8 +63,11 @@ class ClientContactReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), ContactExport::class, $this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new ContactExport(auth()->user()->company(), $request->all()); $export = new ContactExport(auth()->user()->company(), $request->all());
$csv = $export->run(); $csv = $export->run();
@ -76,9 +80,8 @@ class ClientContactReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\ClientExport; use App\Export\CSV\ClientExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client; use App\Models\Client;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class ClientReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),ClientExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new ClientExport(auth()->user()->company(), $request->all()); $export = new ClientExport(auth()->user()->company(), $request->all());
@ -77,7 +82,7 @@ class ClientReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\CreditExport; use App\Export\CSV\CreditExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class CreditReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),CreditExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new CreditExport(auth()->user()->company(), $request->all()); $export = new CreditExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class CreditReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\DocumentExport; use App\Export\CSV\DocumentExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class DocumentReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),DocumentExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new DocumentExport(auth()->user()->company(), $request->all()); $export = new DocumentExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class DocumentReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\ExpenseExport; use App\Export\CSV\ExpenseExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client; use App\Models\Client;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class ExpenseReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),ExpenseExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new ExpenseExport(auth()->user()->company(), $request->all()); $export = new ExpenseExport(auth()->user()->company(), $request->all());
@ -77,7 +82,7 @@ class ExpenseReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\InvoiceItemExport; use App\Export\CSV\InvoiceItemExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class InvoiceItemReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),InvoiceItemExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new InvoiceItemExport(auth()->user()->company(), $request->all()); $export = new InvoiceItemExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class InvoiceItemReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\InvoiceExport; use App\Export\CSV\InvoiceExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class InvoiceReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),InvoiceExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new InvoiceExport(auth()->user()->company(), $request->all()); $export = new InvoiceExport(auth()->user()->company(), $request->all());
@ -76,9 +81,8 @@ class InvoiceReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\PaymentExport; use App\Export\CSV\PaymentExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client; use App\Models\Client;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class PaymentReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), PaymentExport::class, $this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new PaymentExport(auth()->user()->company(), $request->all()); $export = new PaymentExport(auth()->user()->company(), $request->all());
@ -77,9 +82,8 @@ class PaymentReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\ProductExport; use App\Export\CSV\ProductExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client; use App\Models\Client;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class ProductReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),ProductExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new ProductExport(auth()->user()->company(), $request->all()); $export = new ProductExport(auth()->user()->company(), $request->all());
@ -77,7 +82,7 @@ class ProductReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\PaymentExport; use App\Export\CSV\PaymentExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\ProfitLossRequest; use App\Http\Requests\Report\ProfitLossRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client; use App\Models\Client;
use App\Services\Report\ProfitLoss; use App\Services\Report\ProfitLoss;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
@ -64,13 +65,17 @@ class ProfitAndLossController extends BaseController
*/ */
public function __invoke(ProfitLossRequest $request) public function __invoke(ProfitLossRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),ProfitLoss::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$pnl = new ProfitLoss(auth()->user()->company(), $request->all()); $pnl = new ProfitLoss(auth()->user()->company(), $request->all());
$pnl->build(); $pnl->build();
$csv = $pnl->getCsv(); $csv = $pnl->getCsv();
$headers = array( $headers = array(
'Content-Disposition' => 'attachment', 'Content-Disposition' => 'attachment',
'Content-Type' => 'text/csv', 'Content-Type' => 'text/csv',
@ -79,7 +84,7 @@ class ProfitAndLossController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\QuoteItemExport; use App\Export\CSV\QuoteItemExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class QuoteItemReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),QuoteItemExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new QuoteItemExport(auth()->user()->company(), $request->all()); $export = new QuoteItemExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class QuoteItemReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\QuoteExport; use App\Export\CSV\QuoteExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class QuoteReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),QuoteExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new QuoteExport(auth()->user()->company(), $request->all()); $export = new QuoteExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class QuoteReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\RecurringInvoiceExport; use App\Export\CSV\RecurringInvoiceExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class RecurringInvoiceReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),RecurringInvoiceExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new RecurringInvoiceExport(auth()->user()->company(), $request->all()); $export = new RecurringInvoiceExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class RecurringInvoiceReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\TaskExport; use App\Export\CSV\TaskExport;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest; use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response; use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class TaskReportController extends BaseController
*/ */
public function __invoke(GenericReportRequest $request) public function __invoke(GenericReportRequest $request)
{ {
if ($request->has('send_email') && $request->get('send_email')) {
SendToAdmin::dispatch(auth()->user()->company(),$request->all(),TaskExport::class,$this->filename);
return response([], 200);
}
// expect a list of visible fields, or use the default // expect a list of visible fields, or use the default
$export = new TaskExport(auth()->user()->company(), $request->all()); $export = new TaskExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class TaskReportController extends BaseController
return response()->streamDownload(function () use ($csv) { return response()->streamDownload(function () use ($csv) {
echo $csv; echo $csv;
}, $this->filename, $headers); }, $this->filename, $headers);
} }