From ee3a2ef41cd6914b38f624d100270ec6dc53c80b Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 14 Aug 2019 19:51:46 +0200 Subject: [PATCH] Fix report issues. --- app/Helpers/Report/PopupReport.php | 23 +++++-------------- .../Http/Controllers/RequestInformation.php | 4 ++-- resources/views/v1/popup/list/journals.twig | 15 ++++++++++++ 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/app/Helpers/Report/PopupReport.php b/app/Helpers/Report/PopupReport.php index e9903565a3..e93ef9f56c 100644 --- a/app/Helpers/Report/PopupReport.php +++ b/app/Helpers/Report/PopupReport.php @@ -26,7 +26,6 @@ use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\Account; use FireflyIII\Models\Budget; use FireflyIII\Models\Category; -use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use Illuminate\Support\Collection; @@ -179,24 +178,14 @@ class PopupReport implements PopupReportInterface /** @var JournalRepositoryInterface $repository */ $repository = app(JournalRepositoryInterface::class); $repository->setUser($account->user); - /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollectorInterface::class); - $collector->setAccounts(new Collection([$account]))->setRange($attributes['startDate'], $attributes['endDate']) - ->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]) + $collector + ->setSourceAccounts(new Collection([$account])) + ->setDestinationAccounts($attributes['accounts']) + ->setRange($attributes['startDate'], $attributes['endDate']) + ->setTypes([TransactionType::DEPOSIT, TransactionType::TRANSFER]) ->withAccountInformation(); - $journals = $collector->getExtractedJournals(); - $report = $attributes['accounts']->pluck('id')->toArray(); // accounts used in this report - - // filter the set so the destinations outside of $attributes['accounts'] are not included. - // TODO not sure if filter is necessary. - $filtered = []; - /** @var array $journal */ - foreach ($journals as $journal) { - if (in_array($journal['destination_account_id'], $report, true)) { - $filtered[] = $journal; - } - } - return $filtered; + return $collector->getExtractedJournals(); } } diff --git a/app/Support/Http/Controllers/RequestInformation.php b/app/Support/Http/Controllers/RequestInformation.php index 419286429b..0a17ca3db5 100644 --- a/app/Support/Http/Controllers/RequestInformation.php +++ b/app/Support/Http/Controllers/RequestInformation.php @@ -245,7 +245,7 @@ trait RequestInformation $attributes['location'] = $attributes['location'] ?? ''; $attributes['accounts'] = AccountList::routeBinder($attributes['accounts'] ?? '', new Route('get', '', [])); try { - $attributes['startDate'] = Carbon::createFromFormat('Ymd', $attributes['startDate']); + $attributes['startDate'] = Carbon::createFromFormat('Ymd', $attributes['startDate'])->startOfDay(); } catch (InvalidArgumentException $e) { Log::debug(sprintf('Not important error message: %s', $e->getMessage())); $date = Carbon::now()->startOfMonth(); @@ -253,7 +253,7 @@ trait RequestInformation } try { - $attributes['endDate'] = Carbon::createFromFormat('Ymd', $attributes['endDate']); + $attributes['endDate'] = Carbon::createFromFormat('Ymd', $attributes['endDate'])->endOfDay(); } catch (InvalidArgumentException $e) { Log::debug(sprintf('Not important error message: %s', $e->getMessage())); $date = Carbon::now()->startOfMonth(); diff --git a/resources/views/v1/popup/list/journals.twig b/resources/views/v1/popup/list/journals.twig index 47fd87c385..8e380aee2c 100644 --- a/resources/views/v1/popup/list/journals.twig +++ b/resources/views/v1/popup/list/journals.twig @@ -64,11 +64,26 @@ {% if transaction.transaction_type_type == 'Deposit' %} {{ formatAmountBySymbol(transaction.amount*-1, transaction.currency_symbol, transaction.currency_symbol_decimal_places) }} + {% if null != transaction.foreign_amount %} + ({{ formatAmountBySymbol(transaction.foreign_amount*-1, transaction.foreign_currency_symbol, transaction.foreign_currency_symbol_decimal_places) }}) + {% endif %} {% set sum = (sum + (transaction.amount*-1)) %} + {% elseif transaction.transaction_type_type == 'Transfer' %} + + {{ formatAmountBySymbol(transaction.amount*-1, transaction.currency_symbol, transaction.currency_symbol_decimal_places, false) }} + {% if null != transaction.foreign_amount %} + ({{ formatAmountBySymbol(transaction.foreign_amount*-1, transaction.foreign_currency_symbol, transaction.foreign_currency_symbol_decimal_places, false) }}) + {% endif %} + + {% set sum = (sum + transaction.amount*-1) %} {% else %} {{ formatAmountBySymbol(transaction.amount, transaction.currency_symbol, transaction.currency_symbol_decimal_places) }} + {% if null != transaction.foreign_amount %} + ({{ formatAmountBySymbol(transaction.foreign_amount, transaction.foreign_currency_symbol, transaction.foreign_currency_symbol_decimal_places) }}) + {% endif %} {% set sum = (sum + transaction.amount) %} {% endif %} +