diff --git a/app/Http/Controllers/Transaction/SingleController.php b/app/Http/Controllers/Transaction/SingleController.php index b02ca753fd..ddace0e615 100644 --- a/app/Http/Controllers/Transaction/SingleController.php +++ b/app/Http/Controllers/Transaction/SingleController.php @@ -144,7 +144,7 @@ class SingleController extends Controller { $what = strtolower($what); $uploadSize = min(Steam::phpBytes(ini_get('upload_max_filesize')), Steam::phpBytes(ini_get('post_max_size'))); - $assetAccounts = $this->groupedAccountList(); + $assetAccounts = $this->groupedActiveAccountList(); $budgets = ExpandedForm::makeSelectListWithEmpty($this->budgets->getActiveBudgets()); $piggyBanks = $this->piggyBanks->getPiggyBanksWithAmount(); $piggies = ExpandedForm::makeSelectListWithEmpty($piggyBanks); @@ -413,7 +413,7 @@ class SingleController extends Controller /** * @return array */ - private function groupedAccountList(): array + private function groupedActiveAccountList(): array { $accounts = $this->accounts->getActiveAccountsByType([AccountType::DEFAULT, AccountType::ASSET]); $return = []; @@ -430,6 +430,26 @@ class SingleController extends Controller return $return; } + /** + * @return array + */ + private function groupedAccountList(): array + { + $accounts = $this->accounts->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET]); + $return = []; + /** @var Account $account */ + foreach ($accounts as $account) { + $type = $account->getMeta('accountRole'); + if (strlen($type) === 0) { + $type = 'no_account_type'; + } + $key = strval(trans('firefly.opt_group_' . $type)); + $return[$key][$account->id] = $account->name; + } + + return $return; + } + /** * @param TransactionJournal $journal * diff --git a/tests/Feature/Controllers/Transaction/SingleControllerTest.php b/tests/Feature/Controllers/Transaction/SingleControllerTest.php index 2e0ac6f23d..1f4a3ec89a 100644 --- a/tests/Feature/Controllers/Transaction/SingleControllerTest.php +++ b/tests/Feature/Controllers/Transaction/SingleControllerTest.php @@ -107,6 +107,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::edit + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedAccountList */ public function testEdit() { @@ -126,6 +127,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::edit + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedAccountList */ public function testEditCashDeposit() { @@ -151,6 +153,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::edit + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedAccountList */ public function testEditCashWithdrawal() { @@ -176,6 +179,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::edit + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedAccountList */ public function testEditRedirect() { @@ -193,6 +197,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::edit + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedAccountList */ public function testEditTransferWithForeignAmount() { @@ -221,6 +226,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::edit + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedAccountList */ public function testEditWithForeignAmount() { @@ -249,6 +255,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::store + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedActiveAccountList */ public function testStoreError() { @@ -277,6 +284,7 @@ class SingleControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::store + * @covers \FireflyIII\Http\Controllers\Transaction\SingleController::groupedActiveAccountList */ public function testStoreSuccess() {