![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/dceprojects.corals.io/Corals/modules/Timesheet/Http/Controllers/ |
<?php namespace Corals\Modules\Timesheet\Http\Controllers; use Corals\Foundation\Http\Controllers\BaseController; use Corals\Modules\ProjectPlan\Facades\ProjectPlan; use Corals\Modules\Timesheet\Classes\Report; use Illuminate\Http\Request; class ReportsController extends BaseController { public function getGenerateReportView(Request $request) { return $this->generate($request); } public function generate(Request $request) { $this->setViewSharedData([ 'title' => trans('Reports', ['title_singular' => 'Reports']) ]); $validatedData = $request->validate([ 'user_id' => 'nullable|exists:users,id', 'job_id' => 'nullable|exists:ts_jobs,id', 'period.from' => 'nullable|date', 'period.to' => 'nullable|date', 'department_code' => 'nullable|string|exists:utility_list_of_values,code', 'report_by' => 'nullable|string', 'over_usage_jobs' => 'nullable' ]); $userId = ProjectPlan::isPPAdmin() ? ($validatedData['user_id'] ?? '' ? $validatedData['user_id'] : null) : auth()->id(); $report = new Report( $userId, $validatedData['job_id'] ?? null, $validatedData['period']['from'] ?? now()->startOfMonth(), $validatedData['period']['to'] ?? now()->endOfMonth(), $validatedData['department_code'] ?? null, $validatedData['report_by'] ?? 'employees', $validatedData['over_usage_jobs'] ?? false, ); if ($request->boolean('export')) { return $report->exports(); } $reportRecords = $report->generateReport(); return view('Timesheet::reports.generate_report')->with(compact('reportRecords')); } }