diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index 52f23424209c..18f7a2159e44 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -103,7 +103,8 @@ class ReportController extends BaseController $config = [ 'date_field' => $dateField, 'status_ids' => request()->status_ids, - 'group_dates_by' => request()->group_dates_by, + 'group' => request()->group, + 'subgroup' => request()->subgroup, 'document_filter' => request()->document_filter, 'currency_type' => request()->currency_type, 'export_format' => $format, @@ -154,7 +155,8 @@ class ReportController extends BaseController unset($options['start_date']); unset($options['end_date']); - unset($options['group_dates_by']); + unset($options['group']); + unset($options['subgroup']); $schedule = ScheduledReport::createNew(); $schedule->config = json_encode($options); diff --git a/app/Ninja/Reports/AbstractReport.php b/app/Ninja/Reports/AbstractReport.php index d41f1fc52864..1426d38a1090 100644 --- a/app/Ninja/Reports/AbstractReport.php +++ b/app/Ninja/Reports/AbstractReport.php @@ -73,7 +73,7 @@ class AbstractReport } if (strpos($field, 'date') !== false) { - $class[] = 'group-date-' . (isset($this->options['group_dates_by']) ? $this->options['group_dates_by'] : 'monthyear'); + $class[] = 'group-date-' . (isset($this->options['group']) ? $this->options['group'] : 'monthyear'); } elseif (in_array($field, ['client', 'vendor', 'product', 'user', 'method', 'category', 'project'])) { $class[] = 'group-letter-100'; } elseif (in_array($field, ['amount', 'paid', 'balance'])) { @@ -163,7 +163,7 @@ class AbstractReport public function chartGroupBy() { - $groupBy = empty($this->options['group_dates_by']) ? 'day' : $this->options['group_dates_by']; + $groupBy = empty($this->options['group']) ? 'day' : $this->options['group']; if ($groupBy == 'monthyear') { $groupBy = 'month'; @@ -247,8 +247,22 @@ class AbstractReport return $data; } + public function isLineChartEnabled() + { + return $this->options['group']; + } + + public function isPieChartEnabled() + { + return $this->options['subgroup']; + } + public function getPieChartData() { + if (! $this->isPieChartEnabled()) { + return false; + } + $datasets = []; $labels = []; $totals = []; diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index cc85b0b68468..24263f36f9d7 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -2764,6 +2764,8 @@ $LANG = array( 'mobile' => 'Mobile', 'desktop' => 'Desktop', 'webmail' => 'Webmail', + 'group' => 'Group', + 'subgroup' => 'Subgroup', ); diff --git a/resources/views/reports/chart_builder.blade.php b/resources/views/reports/chart_builder.blade.php index 901d650abc71..becc7b69f553 100644 --- a/resources/views/reports/chart_builder.blade.php +++ b/resources/views/reports/chart_builder.blade.php @@ -101,25 +101,30 @@ function loadPieChart(data) { } +@if ($report->isLineChartEnabled()) $(function() { var lineChartData = {!! json_encode($report->getLineChartData()) !!}; loadLineChart(lineChartData); //console.log(chartData); var pieChartData = {!! json_encode($report->getPieChartData()) !!}; - loadPieChart(pieChartData); - console.log(pieChartData); + if (pieChartData) { + loadPieChart(pieChartData); + } }); +@endif +@if ($report->isLineChartEnabled())
+@endif diff --git a/resources/views/reports/report_builder.blade.php b/resources/views/reports/report_builder.blade.php index 3f8c89624c66..8bd17a352aae 100644 --- a/resources/views/reports/report_builder.blade.php +++ b/resources/views/reports/report_builder.blade.php @@ -170,13 +170,15 @@