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\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,8 +63,11 @@ class ClientContactReportController extends BaseController
*/
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
$export = new ContactExport(auth()->user()->company(), $request->all());
$csv = $export->run();
@ -76,9 +80,8 @@ class ClientContactReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\ClientExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class ClientReportController extends BaseController
*/
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
$export = new ClientExport(auth()->user()->company(), $request->all());
@ -77,7 +82,7 @@ class ClientReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\CreditExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class CreditReportController extends BaseController
*/
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
$export = new CreditExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class CreditReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\DocumentExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class DocumentReportController extends BaseController
*/
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
$export = new DocumentExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class DocumentReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\ExpenseExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class ExpenseReportController extends BaseController
*/
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
$export = new ExpenseExport(auth()->user()->company(), $request->all());
@ -77,7 +82,7 @@ class ExpenseReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\InvoiceItemExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class InvoiceItemReportController extends BaseController
*/
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
$export = new InvoiceItemExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class InvoiceItemReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\InvoiceExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class InvoiceReportController extends BaseController
*/
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
$export = new InvoiceExport(auth()->user()->company(), $request->all());
@ -76,9 +81,8 @@ class InvoiceReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\PaymentExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class PaymentReportController extends BaseController
*/
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
$export = new PaymentExport(auth()->user()->company(), $request->all());
@ -77,9 +82,8 @@ class PaymentReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\ProductExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -63,6 +64,10 @@ class ProductReportController extends BaseController
*/
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
$export = new ProductExport(auth()->user()->company(), $request->all());
@ -77,7 +82,7 @@ class ProductReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\PaymentExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\ProfitLossRequest;
use App\Jobs\Report\SendToAdmin;
use App\Models\Client;
use App\Services\Report\ProfitLoss;
use App\Utils\Traits\MakesHash;
@ -64,13 +65,17 @@ class ProfitAndLossController extends BaseController
*/
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
$pnl = new ProfitLoss(auth()->user()->company(), $request->all());
$pnl->build();
$csv = $pnl->getCsv();
$headers = array(
'Content-Disposition' => 'attachment',
'Content-Type' => 'text/csv',
@ -79,7 +84,7 @@ class ProfitAndLossController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\QuoteItemExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class QuoteItemReportController extends BaseController
*/
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
$export = new QuoteItemExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class QuoteItemReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\QuoteExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class QuoteReportController extends BaseController
*/
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
$export = new QuoteExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class QuoteReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\RecurringInvoiceExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class RecurringInvoiceReportController extends BaseController
*/
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
$export = new RecurringInvoiceExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class RecurringInvoiceReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}

View File

@ -14,6 +14,7 @@ namespace App\Http\Controllers\Reports;
use App\Export\CSV\TaskExport;
use App\Http\Controllers\BaseController;
use App\Http\Requests\Report\GenericReportRequest;
use App\Jobs\Report\SendToAdmin;
use App\Utils\Traits\MakesHash;
use Illuminate\Http\Response;
@ -62,6 +63,10 @@ class TaskReportController extends BaseController
*/
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
$export = new TaskExport(auth()->user()->company(), $request->all());
@ -76,7 +81,7 @@ class TaskReportController extends BaseController
return response()->streamDownload(function () use ($csv) {
echo $csv;
}, $this->filename, $headers);
}