Spamworldpro Mini Shell
Spamworldpro


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/dceprojects.corals.io/Corals/modules/Timesheet/Http/Controllers/ReportsController.php
<?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'));
    }

}

Spamworldpro Mini