App\Http\Controllers\ReportController::showReports PHP Method

showReports() public method

public showReports ( ) : Illuminate\Contracts\View\View
return Illuminate\Contracts\View\View
    public function showReports()
    {
        $action = Input::get('action');
        if (Input::get('report_type')) {
            $reportType = Input::get('report_type');
            $dateField = Input::get('date_field');
            $startDate = date_create(Input::get('start_date'));
            $endDate = date_create(Input::get('end_date'));
        } else {
            $reportType = ENTITY_INVOICE;
            $dateField = FILTER_INVOICE_DATE;
            $startDate = Utils::today(false)->modify('-3 month');
            $endDate = Utils::today(false);
        }
        $reportTypes = [ENTITY_CLIENT => trans('texts.client'), ENTITY_INVOICE => trans('texts.invoice'), ENTITY_PRODUCT => trans('texts.product'), ENTITY_PAYMENT => trans('texts.payment'), ENTITY_EXPENSE => trans('texts.expense'), ENTITY_TASK => trans('texts.task'), ENTITY_TAX_RATE => trans('texts.tax')];
        $params = ['startDate' => $startDate->format('Y-m-d'), 'endDate' => $endDate->format('Y-m-d'), 'reportTypes' => $reportTypes, 'reportType' => $reportType, 'title' => trans('texts.charts_and_reports'), 'account' => Auth::user()->account];
        if (Auth::user()->account->hasFeature(FEATURE_REPORTS)) {
            $isExport = $action == 'export';
            $params = array_merge($params, self::generateReport($reportType, $startDate, $endDate, $dateField, $isExport));
            if ($isExport) {
                self::export($reportType, $params['displayData'], $params['columns'], $params['reportTotals']);
            }
        } else {
            $params['columns'] = [];
            $params['displayData'] = [];
            $params['reportTotals'] = [];
        }
        return View::make('reports.chart_builder', $params);
    }