From 7ecf6914a8f127888c649c5d1e285e291951545d Mon Sep 17 00:00:00 2001 From: denisdulici Date: Sat, 7 Apr 2018 12:00:39 +0300 Subject: [PATCH] print reports --- .../Controllers/Reports/ExpenseSummary.php | 13 ++- .../Reports/IncomeExpenseSummary.php | 13 ++- .../Controllers/Reports/IncomeSummary.php | 13 ++- public/css/app.css | 4 + resources/views/layouts/print.blade.php | 7 ++ .../reports/expense_summary/body.blade.php | 48 ++++++++++ .../reports/expense_summary/index.blade.php | 53 ++--------- .../reports/expense_summary/print.blade.php | 7 ++ .../income_expense_summary/body.blade.php | 66 ++++++++++++++ .../income_expense_summary/index.blade.php | 73 ++------------- .../income_expense_summary/print.blade.php | 7 ++ .../reports/income_summary/body.blade.php | 48 ++++++++++ .../reports/income_summary/index.blade.php | 89 +++++-------------- .../reports/income_summary/print.blade.php | 7 ++ .../charts/chartjs/multi/line_print.blade.php | 58 ++++++++++++ 15 files changed, 319 insertions(+), 187 deletions(-) create mode 100644 resources/views/layouts/print.blade.php create mode 100644 resources/views/reports/expense_summary/body.blade.php create mode 100644 resources/views/reports/expense_summary/print.blade.php create mode 100644 resources/views/reports/income_expense_summary/body.blade.php create mode 100644 resources/views/reports/income_expense_summary/print.blade.php create mode 100644 resources/views/reports/income_summary/body.blade.php create mode 100644 resources/views/reports/income_summary/print.blade.php create mode 100644 resources/views/vendor/consoletvs/charts/chartjs/multi/line_print.blade.php diff --git a/app/Http/Controllers/Reports/ExpenseSummary.php b/app/Http/Controllers/Reports/ExpenseSummary.php index 10408cb22..dbae1aea3 100644 --- a/app/Http/Controllers/Reports/ExpenseSummary.php +++ b/app/Http/Controllers/Reports/ExpenseSummary.php @@ -91,6 +91,15 @@ class ExpenseSummary extends Controller $this->setAmount($expenses_graph, $totals, $expenses, $payments, 'payment', 'paid_at'); } + // Check if it's a print or normal request + if (request('print')) { + $chart_template = 'vendor.consoletvs.charts.chartjs.multi.line_print'; + $view_template = 'reports.expense_summary.print'; + } else { + $chart_template = 'vendor.consoletvs.charts.chartjs.multi.line'; + $view_template = 'reports.expense_summary.index'; + } + // Expenses chart $chart = Charts::multi('line', 'chartjs') ->dimensions(0, 300) @@ -98,12 +107,12 @@ class ExpenseSummary extends Controller ->dataset(trans_choice('general.expenses', 1), $expenses_graph) ->labels($dates) ->credits(false) - ->view('vendor.consoletvs.charts.chartjs.multi.line'); + ->view($chart_template); // Expenses Graph $expenses_graph = json_encode($expenses_graph); - return view('reports.expense_summary.index', compact('chart', 'dates', 'categories', 'expenses', 'totals')); + return view($view_template, compact('chart', 'dates', 'categories', 'expenses', 'totals')); } private function setAmount(&$graph, &$totals, &$expenses, $items, $type, $date_field) diff --git a/app/Http/Controllers/Reports/IncomeExpenseSummary.php b/app/Http/Controllers/Reports/IncomeExpenseSummary.php index 5e8352d6e..86c7b138c 100644 --- a/app/Http/Controllers/Reports/IncomeExpenseSummary.php +++ b/app/Http/Controllers/Reports/IncomeExpenseSummary.php @@ -141,6 +141,15 @@ class IncomeExpenseSummary extends Controller $this->setAmount($profit_graph, $totals, $compares, $payments, 'payment', 'paid_at'); } + // Check if it's a print or normal request + if (request('print')) { + $chart_template = 'vendor.consoletvs.charts.chartjs.multi.line_print'; + $view_template = 'reports.income_expense_summary.print'; + } else { + $chart_template = 'vendor.consoletvs.charts.chartjs.multi.line'; + $view_template = 'reports.income_expense_summary.index'; + } + // Profit chart $chart = Charts::multi('line', 'chartjs') ->dimensions(0, 300) @@ -148,9 +157,9 @@ class IncomeExpenseSummary extends Controller ->dataset(trans_choice('general.profits', 1), $profit_graph) ->labels($dates) ->credits(false) - ->view('vendor.consoletvs.charts.chartjs.multi.line'); + ->view($chart_template); - return view('reports.income_expense_summary.index', compact('chart', 'dates', 'income_categories', 'expense_categories', 'compares', 'totals')); + return view($view_template, compact('chart', 'dates', 'income_categories', 'expense_categories', 'compares', 'totals')); } private function setAmount(&$graph, &$totals, &$compares, $items, $type, $date_field) diff --git a/app/Http/Controllers/Reports/IncomeSummary.php b/app/Http/Controllers/Reports/IncomeSummary.php index 390c2cede..338d677c1 100644 --- a/app/Http/Controllers/Reports/IncomeSummary.php +++ b/app/Http/Controllers/Reports/IncomeSummary.php @@ -91,6 +91,15 @@ class IncomeSummary extends Controller $this->setAmount($incomes_graph, $totals, $incomes, $revenues, 'revenue', 'paid_at'); } + // Check if it's a print or normal request + if (request('print')) { + $chart_template = 'vendor.consoletvs.charts.chartjs.multi.line_print'; + $view_template = 'reports.income_summary.print'; + } else { + $chart_template = 'vendor.consoletvs.charts.chartjs.multi.line'; + $view_template = 'reports.income_summary.index'; + } + // Incomes chart $chart = Charts::multi('line', 'chartjs') ->dimensions(0, 300) @@ -98,9 +107,9 @@ class IncomeSummary extends Controller ->dataset(trans_choice('general.incomes', 1), $incomes_graph) ->labels($dates) ->credits(false) - ->view('vendor.consoletvs.charts.chartjs.multi.line'); + ->view($chart_template); - return view('reports.income_summary.index', compact('chart', 'dates', 'categories', 'incomes', 'totals')); + return view($view_template, compact('chart', 'dates', 'categories', 'incomes', 'totals')); } private function setAmount(&$graph, &$totals, &$incomes, $items, $type, $date_field) diff --git a/public/css/app.css b/public/css/app.css index 5fef5c91b..67f89e918 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -515,6 +515,10 @@ ul.add-new.nav.navbar-nav.pull-left { opacity: 0.4; } +.print-width { + max-width: 1500px; +} + /* .tooltip > .tooltip-inner { background-color: #6da252; diff --git a/resources/views/layouts/print.blade.php b/resources/views/layouts/print.blade.php new file mode 100644 index 000000000..6b213602e --- /dev/null +++ b/resources/views/layouts/print.blade.php @@ -0,0 +1,7 @@ + + @include('partials.admin.head') + + + @yield('content') + + diff --git a/resources/views/reports/expense_summary/body.blade.php b/resources/views/reports/expense_summary/body.blade.php new file mode 100644 index 000000000..ba036df75 --- /dev/null +++ b/resources/views/reports/expense_summary/body.blade.php @@ -0,0 +1,48 @@ +
+ {!! $chart->render() !!} + +
+ +
+ + + + + @foreach($dates as $date) + + @endforeach + + + + @if ($expenses) + @foreach($expenses as $category_id => $category) + + + @foreach($category as $item) + + @endforeach + + @endforeach + @else + + + + @endif + + + + + @foreach($totals as $total) + + @endforeach + + +
{{ trans_choice('general.categories', 1) }}{{ $date }}
{{ $categories[$category_id] }}@money($item['amount'], $item['currency_code'], true)
+
{{ trans('general.no_records') }}
+
{{ trans_choice('general.totals', 1) }}@money($total['amount'], $total['currency_code'], true)
+
+
+ +@push('js') +{!! Charts::assets() !!} +@endpush \ No newline at end of file diff --git a/resources/views/reports/expense_summary/index.blade.php b/resources/views/reports/expense_summary/index.blade.php index b5504c7a9..1b2d0444b 100644 --- a/resources/views/reports/expense_summary/index.blade.php +++ b/resources/views/reports/expense_summary/index.blade.php @@ -2,6 +2,10 @@ @section('title', trans('reports.summary.expense')) +@section('new_button') +  {{ trans('general.print') }} +@endsection + @section('content')
@@ -17,55 +21,8 @@
{!! Form::close() !!} -
- {!! $chart->render() !!} -
- -
- - - - - @foreach($dates as $date) - - @endforeach - - - - @if ($expenses) - @foreach($expenses as $category_id => $category) - - - @foreach($category as $item) - - @endforeach - - @endforeach - @else - - - - @endif - - - - - @foreach($totals as $total) - - @endforeach - - -
{{ trans_choice('general.categories', 1) }}{{ $date }}
{{ $categories[$category_id] }}@money($item['amount'], $item['currency_code'], true)
-
{{ trans('general.no_records') }}
-
{{ trans_choice('general.totals', 1) }}@money($total['amount'], $total['currency_code'], true)
-
-
- + @include('reports.expense_summary.body') @endsection - -@push('js') -{!! Charts::assets() !!} -@endpush diff --git a/resources/views/reports/expense_summary/print.blade.php b/resources/views/reports/expense_summary/print.blade.php new file mode 100644 index 000000000..e1d4f9651 --- /dev/null +++ b/resources/views/reports/expense_summary/print.blade.php @@ -0,0 +1,7 @@ +@extends('layouts.print') + +@section('title', trans('reports.summary.expense')) + +@section('content') + @include('reports.expense_summary.body') +@endsection \ No newline at end of file diff --git a/resources/views/reports/income_expense_summary/body.blade.php b/resources/views/reports/income_expense_summary/body.blade.php new file mode 100644 index 000000000..a5f54f4f3 --- /dev/null +++ b/resources/views/reports/income_expense_summary/body.blade.php @@ -0,0 +1,66 @@ +
+ {!! $chart->render() !!} + +
+ +
+ + + + + @foreach($dates as $date) + + @endforeach + + + + @if ($compares) + @foreach($compares as $type => $categories) + @foreach($categories as $category_id => $category) + + @if($type == 'income') + + @else + + @endif + @foreach($category as $item) + @if($type == 'income') + + @else + + @endif + @endforeach + + @endforeach + @endforeach + @else + + + + @endif + + + + + @foreach($totals as $total) + + @endforeach + + +
{{ trans_choice('general.categories', 1) }}{{ $date }}
{{ $income_categories[$category_id] }}{{ $expense_categories[$category_id] }}@money($item['amount'], $item['currency_code'], true)@money(-$item['amount'], $item['currency_code'], true)
+
{{ trans('general.no_records') }}
+
{{ trans_choice('general.totals', 1) }} + @if($total['amount'] == 0) + @money($total['amount'], $total['currency_code'], true) + @elseif($total['amount'] > 0) + @money($total['amount'], $total['currency_code'], true) + @else + @money($total['amount'], $total['currency_code'], true) + @endif +
+
+
+ +@push('js') +{!! Charts::assets() !!} +@endpush diff --git a/resources/views/reports/income_expense_summary/index.blade.php b/resources/views/reports/income_expense_summary/index.blade.php index d8d1cd3c6..e969e5598 100644 --- a/resources/views/reports/income_expense_summary/index.blade.php +++ b/resources/views/reports/income_expense_summary/index.blade.php @@ -1,6 +1,10 @@ @extends('layouts.admin') -@section('title', trans_choice('reports.summary.income_expense', 1)) +@section('title', trans('reports.summary.income_expense')) + +@section('new_button') +  {{ trans('general.print') }} +@endsection @section('content') @@ -17,73 +21,8 @@ {!! Form::close() !!} -
- {!! $chart->render() !!} -
- -
- - - - - @foreach($dates as $date) - - @endforeach - - - - @if ($compares) - @foreach($compares as $type => $categories) - @foreach($categories as $category_id => $category) - - @if($type == 'income') - - @else - - @endif - @foreach($category as $item) - @if($type == 'income') - - @else - - @endif - @endforeach - - @endforeach - @endforeach - @else - - - - @endif - - - - - @foreach($totals as $total) - - @endforeach - - -
{{ trans_choice('general.categories', 1) }}{{ $date }}
{{ $income_categories[$category_id] }}{{ $expense_categories[$category_id] }}@money($item['amount'], $item['currency_code'], true)@money(-$item['amount'], $item['currency_code'], true)
-
{{ trans('general.no_records') }}
-
{{ trans_choice('general.totals', 1) }} - @if($total['amount'] == 0) - @money($total['amount'], $total['currency_code'], true) - @elseif($total['amount'] > 0) - @money($total['amount'], $total['currency_code'], true) - @else - @money($total['amount'], $total['currency_code'], true) - @endif -
-
-
- + @include('reports.income_expense_summary.body') @endsection - -@push('js') -{!! Charts::assets() !!} -@endpush diff --git a/resources/views/reports/income_expense_summary/print.blade.php b/resources/views/reports/income_expense_summary/print.blade.php new file mode 100644 index 000000000..fa13bd103 --- /dev/null +++ b/resources/views/reports/income_expense_summary/print.blade.php @@ -0,0 +1,7 @@ +@extends('layouts.print') + +@section('title', trans('reports.summary.income_expense')) + +@section('content') + @include('reports.income_expense_summary.body') +@endsection \ No newline at end of file diff --git a/resources/views/reports/income_summary/body.blade.php b/resources/views/reports/income_summary/body.blade.php new file mode 100644 index 000000000..c42f7c3ea --- /dev/null +++ b/resources/views/reports/income_summary/body.blade.php @@ -0,0 +1,48 @@ +
+ {!! $chart->render() !!} + +
+ +
+ + + + + @foreach($dates as $date) + + @endforeach + + + + @if ($incomes) + @foreach($incomes as $category_id => $category) + + + @foreach($category as $item) + + @endforeach + + @endforeach + @else + + + + @endif + + + + + @foreach($totals as $total) + + @endforeach + + +
{{ trans_choice('general.categories', 1) }}{{ $date }}
{{ $categories[$category_id] }}@money($item['amount'], $item['currency_code'], true)
+
{{ trans('general.no_records') }}
+
{{ trans_choice('general.totals', 1) }}@money($total['amount'], $total['currency_code'], true)
+
+
+ +@push('js') +{!! Charts::assets() !!} +@endpush diff --git a/resources/views/reports/income_summary/index.blade.php b/resources/views/reports/income_summary/index.blade.php index c29a7f83e..a3cb75b9c 100644 --- a/resources/views/reports/income_summary/index.blade.php +++ b/resources/views/reports/income_summary/index.blade.php @@ -1,71 +1,28 @@ @extends('layouts.admin') -@section('title', trans_choice('reports.summary.income', 1)) +@section('title', trans('reports.summary.income')) -@section('content') - -
-
- - {!! Form::open(['url' => 'reports/income-summary', 'role' => 'form', 'method' => 'GET']) !!} -
- {!! Form::select('year', $years, request('year', $this_year), ['class' => 'form-control input-filter input-sm', 'onchange' => 'this.form.submit()']) !!} -
- {!! Form::close() !!} -
-
- {!! $chart->render() !!} - -
- -
- - - - - @foreach($dates as $date) - - @endforeach - - - - @if ($incomes) - @foreach($incomes as $category_id => $category) - - - @foreach($category as $item) - - @endforeach - - @endforeach - @else - - - - @endif - - - - - @foreach($totals as $total) - - @endforeach - - -
{{ trans_choice('general.categories', 1) }}{{ $date }}
{{ $categories[$category_id] }}@money($item['amount'], $item['currency_code'], true)
-
{{ trans('general.no_records') }}
-
{{ trans_choice('general.totals', 1) }}@money($total['amount'], $total['currency_code'], true)
-
-
- -
- +@section('new_button') +  {{ trans('general.print') }} @endsection -@push('js') -{!! Charts::assets() !!} -@endpush +@section('content') + +
+
+ + {!! Form::open(['url' => 'reports/income-summary', 'role' => 'form', 'method' => 'GET']) !!} +
+ {!! Form::select('year', $years, request('year', $this_year), ['class' => 'form-control input-filter input-sm', 'onchange' => 'this.form.submit()']) !!} +
+ {!! Form::close() !!} +
+ + @include('reports.income_summary.body') +
+ +@endsection diff --git a/resources/views/reports/income_summary/print.blade.php b/resources/views/reports/income_summary/print.blade.php new file mode 100644 index 000000000..14f408335 --- /dev/null +++ b/resources/views/reports/income_summary/print.blade.php @@ -0,0 +1,7 @@ +@extends('layouts.print') + +@section('title', trans('reports.summary.income')) + +@section('content') + @include('reports.income_summary.body') +@endsection \ No newline at end of file diff --git a/resources/views/vendor/consoletvs/charts/chartjs/multi/line_print.blade.php b/resources/views/vendor/consoletvs/charts/chartjs/multi/line_print.blade.php new file mode 100644 index 000000000..bd2b2e887 --- /dev/null +++ b/resources/views/vendor/consoletvs/charts/chartjs/multi/line_print.blade.php @@ -0,0 +1,58 @@ +@if(!$model->customId) + @include('charts::_partials.container.canvas2') +@endif + +