diff --git a/app/controllers/GoogleChartController.php b/app/controllers/GoogleChartController.php index 464e24e20e..8e9456aa6d 100644 --- a/app/controllers/GoogleChartController.php +++ b/app/controllers/GoogleChartController.php @@ -473,6 +473,29 @@ class GoogleChartController extends BaseController } + public function piggyBankHistory(\Piggybank $piggybank) + { + /** @var \Grumpydictator\Gchart\GChart $chart */ + $chart = App::make('gchart'); + $chart->addColumn('Date', 'date'); + $chart->addColumn('Balance', 'number'); + $sum = 0; + + $set = \DB::table('piggybank_events') + ->where('piggybank_id',$piggybank->id) + ->groupBy('date') + ->get(['date',DB::Raw('SUM(`amount`) AS `sum`')]); + + foreach($set as $entry) { + $chart->addRow(new Carbon($entry->date), floatval($entry->sum)); + } + + $chart->generate(); + + return Response::json($chart->getData()); + + } + /** * @param RecurringTransaction $recurring */ @@ -499,7 +522,7 @@ class GoogleChartController extends BaseController $end = new Carbon; while ($start <= $end) { $result = $recurring->transactionjournals()->before($end)->after($start)->first(); - if($result) { + if ($result) { $amount = $result->getAmount(); } else { $amount = 0; diff --git a/app/views/piggybanks/show.blade.php b/app/views/piggybanks/show.blade.php index 1d23179eda..33daa08e89 100644 --- a/app/views/piggybanks/show.blade.php +++ b/app/views/piggybanks/show.blade.php @@ -113,4 +113,13 @@ @stop @section('scripts') + + + + +{{HTML::script('assets/javascript/firefly/gcharts.options.js')}} +{{HTML::script('assets/javascript/firefly/gcharts.js')}} +{{HTML::script('assets/javascript/firefly/piggybanks.js')}} @stop diff --git a/public/assets/javascript/firefly/piggybanks.js b/public/assets/javascript/firefly/piggybanks.js index 3d4d4739c0..f97c71339f 100644 --- a/public/assets/javascript/firefly/piggybanks.js +++ b/public/assets/javascript/firefly/piggybanks.js @@ -1,17 +1,21 @@ $(function () { - $('.addMoney').on('click',addMoney); - $('.removeMoney').on('click',removeMoney); + $('.addMoney').on('click', addMoney); + $('.removeMoney').on('click', removeMoney); + + if (typeof(googleLineChart) == 'function' && typeof(piggyBankID) != 'undefined') { + googleLineChart('chart/piggyhistory/' + piggyBankID, 'piggybank-history'); + } }); function addMoney(e) { - var pigID = parseInt($(e.target).data('id')); + var pigID = parseInt($(e.target).data('id')); $('#moneyManagementModal').empty().load('piggybanks/add/' + pigID).modal('show'); return false; } function removeMoney(e) { - var pigID = parseInt($(e.target).data('id')); + var pigID = parseInt($(e.target).data('id')); $('#moneyManagementModal').empty().load('piggybanks/remove/' + pigID).modal('show'); return false;