From f572445a655bfd0f9455d71bf5f33404ad230208 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 15 Mar 2015 09:34:57 +0100 Subject: [PATCH] Small updates. --- app/Support/Amount.php | 67 ++++++++++++++------ public/js/gcharts.js | 2 +- resources/views/index.blade.php | 2 +- resources/views/list/journals-tiny.blade.php | 14 +--- 4 files changed, 49 insertions(+), 36 deletions(-) diff --git a/app/Support/Amount.php b/app/Support/Amount.php index 97a07e7055..7d06975956 100644 --- a/app/Support/Amount.php +++ b/app/Support/Amount.php @@ -5,6 +5,7 @@ namespace FireflyIII\Support; use Cache; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionCurrency; +use FireflyIII\Models\TransactionJournal; use Preferences as Prefs; /** @@ -30,19 +31,27 @@ class Amount } /** - * @param Transaction|\Transaction $transaction - * @param bool $coloured - * * @return string */ - public function formatTransaction(Transaction $transaction, $coloured = true) + public function getCurrencySymbol() { - $symbol = $transaction->transactionJournal->transactionCurrency->symbol; - $amount = floatval($transaction->amount); + if (defined('FFCURRENCYSYMBOL')) { + return FFCURRENCYSYMBOL; + } + if (\Cache::has('FFCURRENCYSYMBOL')) { + define('FFCURRENCYSYMBOL', \Cache::get('FFCURRENCYSYMBOL')); - return $this->formatWithSymbol($symbol, $amount, $coloured); + return FFCURRENCYSYMBOL; + } + $currencyPreference = Prefs::get('currencyPreference', 'EUR'); + $currency = TransactionCurrency::whereCode($currencyPreference->data)->first(); + \Cache::forever('FFCURRENCYSYMBOL', $currency->symbol); + + define('FFCURRENCYSYMBOL', $currency->symbol); + + return $currency->symbol; } /** @@ -73,29 +82,45 @@ class Amount return $symbol . ' ' . $string; } - /** * @return string + * + * @param TransactionJournal $journal */ - public function getCurrencySymbol() + public function formatJournal(TransactionJournal $journal, $coloured = true) { - if (defined('FFCURRENCYSYMBOL')) { - return FFCURRENCYSYMBOL; + $showPositive = true; + $symbol = $journal->transactionCurrency->symbol; + $amount = 0; + switch ($journal->transactionType->type) { + case 'Withdrawal': + $showPositive = false; } - if (\Cache::has('FFCURRENCYSYMBOL')) { - define('FFCURRENCYSYMBOL', \Cache::get('FFCURRENCYSYMBOL')); - - return FFCURRENCYSYMBOL; + foreach ($journal->transactions as $t) { + if (floatval($t->amount) > 0 && $showPositive === true) { + $amount = floatval($t->amount); + break; + } + if (floatval($t->amount) < 0 && $showPositive === false) { + $amount = floatval($t->amount); + } } - $currencyPreference = Prefs::get('currencyPreference', 'EUR'); - $currency = TransactionCurrency::whereCode($currencyPreference->data)->first(); + return $this->formatWithSymbol($symbol, $amount, $coloured); + } - \Cache::forever('FFCURRENCYSYMBOL', $currency->symbol); + /** + * @param Transaction $transaction + * @param bool $coloured + * + * @return string + */ + public function formatTransaction(Transaction $transaction, $coloured = true) + { + $symbol = $transaction->transactionJournal->transactionCurrency->symbol; + $amount = floatval($transaction->amount); - define('FFCURRENCYSYMBOL', $currency->symbol); - - return $currency->symbol; + return $this->formatWithSymbol($symbol, $amount, $coloured); } /** diff --git a/public/js/gcharts.js b/public/js/gcharts.js index 818096c936..5f72099f64 100644 --- a/public/js/gcharts.js +++ b/public/js/gcharts.js @@ -24,7 +24,7 @@ function googleChart(chartType, URL, container, options) { /* Create a new google charts object. */ - var chart = false + var chart = false; var options = false; var isMaterialDesign = false; if (chartType === 'line') { diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php index 332ae5fb30..62db281759 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -81,7 +81,7 @@
- {{{$data[1]->name}}} + {{{$data[1]->name}}} ({!! Amount::format(Steam::balance($data[1])) !!}) diff --git a/resources/views/list/journals-tiny.blade.php b/resources/views/list/journals-tiny.blade.php index 7f10e8e322..f646679401 100644 --- a/resources/views/list/journals-tiny.blade.php +++ b/resources/views/list/journals-tiny.blade.php @@ -15,19 +15,7 @@ {{{$journal->description}}} -@if(isset($account)) - @foreach($journal->transactions as $index => $t) - @if($t->account_id == $account->id) - {!! Amount::formatTransaction($t) !!} - @endif - @endforeach -@else - @foreach($journal->transactions as $index => $t) - @if($index == 0) - {!! Amount::formatTransaction($t) !!} - @endif - @endforeach -@endif + {!! Amount::formatJournal($journal) !!}