Store direction.

This commit is contained in:
James Cole
2021-04-10 07:57:04 +02:00
parent 083749e8fe
commit 3a3cec4f9a

View File

@@ -238,6 +238,10 @@ class AccountFactory
if ($account->accountType->type !== AccountType::ASSET) { if ($account->accountType->type !== AccountType::ASSET) {
$accountRole = ''; $accountRole = '';
} }
// only liability may have direction:
if (array_key_exists('liability_direction', $data) && !in_array($account->accountType->type, config('firefly.valid_liabilities'), true)) {
$data['liability_direction'] = null;
}
$data['account_role'] = $accountRole; $data['account_role'] = $accountRole;
$data['currency_id'] = $currency->id; $data['currency_id'] = $currency->id;
@@ -257,7 +261,7 @@ class AccountFactory
$fields = $this->validAssetFields; $fields = $this->validAssetFields;
} }
if ($account->accountType->type === AccountType::ASSET && 'ccAsset' === $data['account_role']) { if ($account->accountType->type === AccountType::ASSET && 'ccAsset' === $data['account_role']) {
$fields = $this->validCCFields; $fields = $this->validCCFields;
} }
/** @var AccountMetaFactory $factory */ /** @var AccountMetaFactory $factory */
@@ -269,10 +273,10 @@ class AccountFactory
// convert boolean value: // convert boolean value:
if (is_bool($data[$field]) && false === $data[$field]) { if (is_bool($data[$field]) && false === $data[$field]) {
$data[$field] = 0; $data[$field] = 0;
} }
if (is_bool($data[$field]) && true === $data[$field]) { if (is_bool($data[$field]) && true === $data[$field]) {
$data[$field] = 1; $data[$field] = 1;
} }
$factory->crud($account, $field, (string)$data[$field]); $factory->crud($account, $field, (string)$data[$field]);