diff --git a/app/Http/Controllers/Transaction/ShowController.php b/app/Http/Controllers/Transaction/ShowController.php index 901e523317..7a4ae30d31 100644 --- a/app/Http/Controllers/Transaction/ShowController.php +++ b/app/Http/Controllers/Transaction/ShowController.php @@ -99,8 +99,9 @@ class ShowController extends Controller $transformer->setParameters(new ParameterBag); $groupArray = $transformer->transformObject($transactionGroup); - // do some amount calculations: + // do some calculations: $amounts = $this->getAmounts($groupArray); + $accounts = $this->getAccounts($groupArray); // make sure notes are escaped but not double escaped. foreach ($groupArray['transactions'] as $index => $transaction) { @@ -127,7 +128,8 @@ class ShowController extends Controller 'groupArray', 'events', 'attachments', - 'links' + 'links', + 'accounts', ) ); } @@ -166,4 +168,31 @@ class ShowController extends Controller return $amounts; } + + /** + * @param array $group + * + * @return array + */ + private function getAccounts(array $group): array + { + $accounts = []; + + foreach ($group['transactions'] as $index => $transaction) { + $accounts['source'][] = [ + 'type' => $transaction['source_type'], + 'id' => $transaction['source_id'], + 'name' => $transaction['source_name'], + 'iban' => $transaction['source_iban'] ]; + $accounts['destination'][] = [ + 'type' => $transaction['destination_type'], + 'id' => $transaction['destination_id'], + 'name' => $transaction['destination_name'], + 'iban' => $transaction['destination_iban'] ]; + } + + $accounts['source'] = array_unique($accounts['source'], SORT_REGULAR); + $accounts['destination'] = array_unique($accounts['destination'], SORT_REGULAR); + return $accounts; + } } diff --git a/resources/views/v1/transactions/show.twig b/resources/views/v1/transactions/show.twig index 987537eea9..eeb8839ae6 100644 --- a/resources/views/v1/transactions/show.twig +++ b/resources/views/v1/transactions/show.twig @@ -82,19 +82,19 @@ {% if first.transactiontype.type != 'Withdrawal' or splits == 1 %}