From 08ca3c89d322b59e6359fe1737c1b7f9b171d3d1 Mon Sep 17 00:00:00 2001 From: James Cole Date: Mon, 2 Mar 2015 15:27:36 +0100 Subject: [PATCH] Expanded account view. --- app/Helpers/Report/ReportHelper.php | 8 -------- app/Helpers/Report/ReportHelperInterface.php | 5 ----- app/Http/Controllers/AccountController.php | 17 +++++++++++++++++ app/Http/Controllers/ReportController.php | 4 ++-- resources/views/list/accounts.blade.php | 5 +++++ 5 files changed, 24 insertions(+), 15 deletions(-) diff --git a/app/Helpers/Report/ReportHelper.php b/app/Helpers/Report/ReportHelper.php index 4ffd22f66f..bdb05dc2bf 100644 --- a/app/Helpers/Report/ReportHelper.php +++ b/app/Helpers/Report/ReportHelper.php @@ -36,14 +36,6 @@ class ReportHelper implements ReportHelperInterface } - /** - * @return Carbon - */ - public function firstDate() - { - return Session::get('first'); - } - /** * This method gets some kind of list for a monthly overview. * diff --git a/app/Helpers/Report/ReportHelperInterface.php b/app/Helpers/Report/ReportHelperInterface.php index 99fbad8742..49b9b541ac 100644 --- a/app/Helpers/Report/ReportHelperInterface.php +++ b/app/Helpers/Report/ReportHelperInterface.php @@ -14,11 +14,6 @@ interface ReportHelperInterface { - /** - * @return Carbon - */ - public function firstDate(); - /** * @param Carbon $date * diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index f128d61bdd..e2ee97ce0f 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -12,6 +12,7 @@ use Input; use Redirect; use Session; use View; +use Steam; /** * Class AccountController @@ -124,6 +125,22 @@ class AccountController extends Controller }] )->accountTypeIn($types)->get(['accounts.*']); + // last activity: + $accounts->each( + function (Account $account) { + $lastTransaction = $account->transactions()->leftJoin( + 'transaction_journals', 'transactions.transaction_journal_id', '=', 'transaction_journals.id' + )->orderBy('transaction_journals.date', 'DESC')->first(['transactions.*', 'transaction_journals.date']); + if ($lastTransaction) { + $account->lastActivityDate = $lastTransaction->transactionjournal->date; + } else { + $account->lastActivityDate = null; + } + $account->startBalance = Steam::balance($account, Session::get('start')); + $account->endBalance = Steam::balance($account, Session::get('end')); + } + ); + return view('accounts.index', compact('what', 'subTitleIcon', 'subTitle', 'accounts')); } diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index 5349059c90..2afc7123bc 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -10,7 +10,7 @@ use FireflyIII\Models\Account; use Illuminate\Database\Query\JoinClause; use Steam; use View; - +use Session; /** * Class ReportController * @@ -115,7 +115,7 @@ class ReportController extends Controller */ public function index(ReportHelperInterface $helper) { - $start = $helper->firstDate(); + $start = Session::get('first'); $months = $helper->listOfMonths($start); $years = $helper->listOfYears($start); $title = 'Reports'; diff --git a/resources/views/list/accounts.blade.php b/resources/views/list/accounts.blade.php index 01013341a5..344585846c 100644 --- a/resources/views/list/accounts.blade.php +++ b/resources/views/list/accounts.blade.php @@ -8,6 +8,7 @@ Current balance Active Last activity + Balance difference between {{Session::get('start')->format('jS F Y')}} and {{Session::get('end')->format('jS F Y')}} @foreach($accounts as $account) @@ -42,6 +43,10 @@ Never @endif + + {!! Amount::format($account->endBalance - $account->startBalance) !!} + + @endforeach