diff --git a/app/Http/Controllers/Transaction/SplitController.php b/app/Http/Controllers/Transaction/SplitController.php index 5b184eb55b..d0a961fb41 100644 --- a/app/Http/Controllers/Transaction/SplitController.php +++ b/app/Http/Controllers/Transaction/SplitController.php @@ -33,6 +33,7 @@ use FireflyIII\Models\Account; use FireflyIII\Models\AccountType; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; +use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Repositories\Budget\BudgetRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; @@ -114,7 +115,7 @@ class SplitController extends Controller /** @var Account $account */ foreach ($accountList as $account) { $accountArray[$account->id] = $account; - $accountArray[$account->id]['currency_id'] = (int)$account->getMeta('currency_id'); + $accountArray[$account->id]['currency_id'] = (int)$this->accounts->getMetaValue($account, 'currency_id'); } // put previous url in session if not redirect from store (not "return_to_edit"). @@ -235,11 +236,19 @@ class SplitController extends Controller $set = $collector->getJournals(); $transactions = []; $transformer = new TransactionTransformer(new ParameterBag); - /** @var Transaction $transaction */ foreach ($set as $transaction) { - if ($transaction->transaction_amount > 0) { - $transactions[] = $transformer->transform($transaction); + $res = []; + if ((float)$transaction->transaction_amount > 0 && $journal->transactionType->type === TransactionType::DEPOSIT) { + $res = $transformer->transform($transaction); + } + if ((float)$transaction->transaction_amount < 0 && $journal->transactionType->type !== TransactionType::DEPOSIT) { + $res = $transformer->transform($transaction); + } + + if (count($res) > 0) { + $res['amount'] = app('steam')->positive((string)$res['amount']); + $transactions[] = $res; } } diff --git a/app/Support/Twig/Extension/Transaction.php b/app/Support/Twig/Extension/Transaction.php index c461925e78..622d08d6ed 100644 --- a/app/Support/Twig/Extension/Transaction.php +++ b/app/Support/Twig/Extension/Transaction.php @@ -357,7 +357,7 @@ class Transaction extends Twig_Extension { $res = ''; if ($transaction->is_split === true) { - $res = '!!!'; + $res = ''; } if ($transaction->is_split === null) { diff --git a/app/Transformers/TransactionTransformer.php b/app/Transformers/TransactionTransformer.php index 4f028bc60e..0a12a23c2a 100644 --- a/app/Transformers/TransactionTransformer.php +++ b/app/Transformers/TransactionTransformer.php @@ -215,7 +215,6 @@ class TransactionTransformer extends TransformerAbstract if (null !== $transaction->transaction_foreign_amount) { $data['foreign_amount'] = round($transaction->transaction_foreign_amount, (int)$transaction->foreign_currency_dp); } - // switch on type for consistency switch ($transaction->transaction_type_type) { case TransactionType::WITHDRAWAL: diff --git a/resources/views/transactions/single/edit.twig b/resources/views/transactions/single/edit.twig index aba0cb3a51..13c50709be 100644 --- a/resources/views/transactions/single/edit.twig +++ b/resources/views/transactions/single/edit.twig @@ -33,6 +33,7 @@