diff --git a/app/Http/Controllers/Reports/ProfitAndLossController.php b/app/Http/Controllers/Reports/ProfitAndLossController.php new file mode 100644 index 000000000000..7c2ea81ef56b --- /dev/null +++ b/app/Http/Controllers/Reports/ProfitAndLossController.php @@ -0,0 +1,87 @@ +user()->company(), $request->all()); + $pnl->build(); + + $csv = $pnl->getCsv(); + + $headers = array( + 'Content-Disposition' => 'attachment', + 'Content-Type' => 'text/csv', + ); + + return response()->streamDownload(function () use ($csv) { + echo $csv; + }, $this->filename, $headers); + + } + + + +} diff --git a/app/Http/Requests/Report/ProfitLossRequest.php b/app/Http/Requests/Report/ProfitLossRequest.php new file mode 100644 index 000000000000..44fc0cae3937 --- /dev/null +++ b/app/Http/Requests/Report/ProfitLossRequest.php @@ -0,0 +1,39 @@ +user()->isAdmin(); + } + + public function rules() + { + return [ + 'start_date' => 'string|date', + 'end_date' => 'string|date', + 'is_income_billed' => 'required|bail|bool', + 'is_expense_billed' => 'required|bail|bool', + 'include_tax' => 'required|bail|bool', + 'date_range' => 'required|bail|string' + ]; + } +} diff --git a/routes/api.php b/routes/api.php index 0c5b72d88754..baa3f56494d0 100644 --- a/routes/api.php +++ b/routes/api.php @@ -167,6 +167,7 @@ Route::group(['middleware' => ['throttle:100,1', 'api_db', 'token_auth', 'locale Route::post('reports/payments', 'Reports\PaymentReportController'); Route::post('reports/products', 'Reports\ProductReportController'); Route::post('reports/tasks', 'Reports\TaskReportController'); + Route::post('reports/profitloss', 'Reports\ProfitAndLossController'); Route::get('scheduler', 'SchedulerController@index'); Route::post('support/messages/send', 'Support\Messages\SendingController');