mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-09 06:55:43 -06:00
Fix #1463
This commit is contained in:
parent
7bdf20fee5
commit
cfd98a33fe
@ -45,6 +45,45 @@ use Session;
|
||||
*/
|
||||
class ExpandedForm
|
||||
{
|
||||
/**
|
||||
* @param string $name
|
||||
* @param null $options
|
||||
*
|
||||
* @return string
|
||||
* @throws \Throwable
|
||||
*/
|
||||
public function activeAssetAccountList(string $name, $value = null, array $options = []): string
|
||||
{
|
||||
// make repositories
|
||||
/** @var AccountRepositoryInterface $repository */
|
||||
$repository = app(AccountRepositoryInterface::class);
|
||||
/** @var CurrencyRepositoryInterface $currencyRepos */
|
||||
$currencyRepos = app(CurrencyRepositoryInterface::class);
|
||||
|
||||
$assetAccounts = $repository->getActiveAccountsByType([AccountType::ASSET, AccountType::DEFAULT]);
|
||||
$defaultCurrency = app('amount')->getDefaultCurrency();
|
||||
$grouped = [];
|
||||
// group accounts:
|
||||
/** @var Account $account */
|
||||
foreach ($assetAccounts as $account) {
|
||||
$balance = app('steam')->balance($account, new Carbon);
|
||||
$currencyId = (int)$account->getMeta('currency_id');
|
||||
$currency = $currencyRepos->findNull($currencyId);
|
||||
$role = $account->getMeta('accountRole');
|
||||
if ('' === $role) {
|
||||
$role = 'no_account_type'; // @codeCoverageIgnore
|
||||
}
|
||||
if (null === $currency) {
|
||||
$currency = $defaultCurrency;
|
||||
}
|
||||
|
||||
$key = (string)trans('firefly.opt_group_' . $role);
|
||||
$grouped[$key][$account->id] = $account->name . ' (' . app('amount')->formatAnything($currency, $balance, false) . ')';
|
||||
}
|
||||
|
||||
return $this->select($name, $grouped, $value, $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param null $value
|
||||
@ -101,7 +140,6 @@ class ExpandedForm
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param $selected
|
||||
* @param null $options
|
||||
*
|
||||
* @return string
|
||||
@ -263,7 +301,7 @@ class ExpandedForm
|
||||
// get all currencies:
|
||||
$list = $currencyRepos->get();
|
||||
$array = [
|
||||
0 => trans('firefly.no_currency')
|
||||
0 => trans('firefly.no_currency'),
|
||||
];
|
||||
/** @var TransactionCurrency $currency */
|
||||
foreach ($list as $currency) {
|
||||
@ -515,7 +553,7 @@ class ExpandedForm
|
||||
*/
|
||||
public function optionsList(string $type, string $name): string
|
||||
{
|
||||
$html = view('form.options', compact('type', 'name'))->render();
|
||||
$html = view('form.options', compact('type', 'name'))->render();
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ return [
|
||||
'date', 'text', 'select', 'balance', 'optionsList', 'checkbox', 'amount', 'tags', 'integer', 'textarea', 'location',
|
||||
'multiRadio', 'file', 'multiCheckbox', 'staticText', 'amountSmall', 'password', 'nonSelectableBalance', 'nonSelectableAmount',
|
||||
'number', 'assetAccountList','amountNoCurrency','currencyList','ruleGroupList','assetAccountCheckList','ruleGroupListWithEmpty',
|
||||
'piggyBankList','currencyListEmpty'
|
||||
'piggyBankList','currencyListEmpty','activeAssetAccountList'
|
||||
],
|
||||
],
|
||||
'Form' => [
|
||||
|
@ -38,7 +38,7 @@
|
||||
{{ ExpandedForm.checkbox('has_headers',1,importJob.configuration['has-headers'],{helpText: trans('import.job_config_uc_header_help')}) }}
|
||||
{{ ExpandedForm.text('date_format',importJob.configuration['date-format'],{helpText: trans('import.job_config_uc_date_help', {dateExample: phpdate('Ymd')}) }) }}
|
||||
{{ ExpandedForm.select('csv_delimiter', data.delimiters, importJob.configuration['delimiter'], {helpText: trans('import.job_config_uc_delimiter_help') } ) }}
|
||||
{{ ExpandedForm.assetAccountList('csv_import_account', importJob.configuration['import-account'], {helpText: trans('import.job_config_uc_account_help')}) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('csv_import_account', importJob.configuration['import-account'], {helpText: trans('import.job_config_uc_account_help')}) }}
|
||||
|
||||
<h4>{{ 'optionalFields'|_ }}</h4>
|
||||
<div class="form-group">
|
||||
|
@ -18,7 +18,7 @@
|
||||
<div class="box-body">
|
||||
|
||||
{{ ExpandedForm.text('name') }}
|
||||
{{ ExpandedForm.assetAccountList('account_id', null, {label: 'saveOnAccount'|_ }) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('account_id', null, {label: 'saveOnAccount'|_ }) }}
|
||||
{{ ExpandedForm.amountNoCurrency('targetamount') }}
|
||||
|
||||
</div>
|
||||
|
@ -89,13 +89,13 @@
|
||||
{{ ExpandedForm.amountNoCurrency('amount', []) }}
|
||||
|
||||
{# source account if withdrawal, or if transfer: #}
|
||||
{{ ExpandedForm.assetAccountList('source_account_id', null, {label: trans('form.asset_source_account')}) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('source_account_id', null, {label: trans('form.asset_source_account')}) }}
|
||||
|
||||
{# source account name for deposits: #}
|
||||
{{ ExpandedForm.text('source_account_name', null, {label: trans('form.revenue_account')}) }}
|
||||
|
||||
{# destination if deposit or transfer: #}
|
||||
{{ ExpandedForm.assetAccountList('destination_account_id', null, {label: trans('form.asset_destination_account')} ) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('destination_account_id', null, {label: trans('form.asset_destination_account')} ) }}
|
||||
|
||||
{# destination account name for withdrawals #}
|
||||
{{ ExpandedForm.text('destination_account_name', null, {label: trans('form.expense_account')}) }}
|
||||
|
@ -92,7 +92,7 @@
|
||||
|
||||
</em>
|
||||
</p>
|
||||
{{ ExpandedForm.assetAccountList('destination_account_asset', null) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('destination_account_asset', null) }}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@ -145,7 +145,7 @@
|
||||
|
||||
</em>
|
||||
</p>
|
||||
{{ ExpandedForm.assetAccountList('source_account_asset', null) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('source_account_asset', null) }}
|
||||
{% endif %}
|
||||
|
||||
{# FIVE #}
|
||||
|
@ -33,7 +33,7 @@
|
||||
{{ ExpandedForm.text('description') }}
|
||||
|
||||
{# SELECTABLE SOURCE ACCOUNT ONLY FOR WITHDRAWALS AND TRANSFERS #}
|
||||
{{ ExpandedForm.assetAccountList('source_account_id', null, {label: trans('form.asset_source_account')}) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('source_account_id', null, {label: trans('form.asset_source_account')}) }}
|
||||
|
||||
{# FREE FORMAT SOURCE ACCOUNT ONLY FOR DEPOSITS #}
|
||||
{{ ExpandedForm.text('source_account_name', null, {label: trans('form.revenue_account')}) }}
|
||||
@ -42,7 +42,7 @@
|
||||
{{ ExpandedForm.text('destination_account_name', null, {label: trans('form.expense_account')}) }}
|
||||
|
||||
{# SELECTABLE DESTINATION ACCOUNT ONLY FOR TRANSFERS AND DEPOSITS #}
|
||||
{{ ExpandedForm.assetAccountList('destination_account_id', null, {label: trans('form.asset_destination_account')} ) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('destination_account_id', null, {label: trans('form.asset_destination_account')} ) }}
|
||||
|
||||
{# ALWAYS SHOW AMOUNT #}
|
||||
{{ ExpandedForm.amount('amount') }}
|
||||
|
@ -42,12 +42,12 @@
|
||||
|
||||
{# show source if withdrawal or transfer #}
|
||||
{% if preFilled.what == 'withdrawal' or preFilled.what == 'transfer' %}
|
||||
{{ ExpandedForm.assetAccountList('journal_source_account_id', preFilled.journal_source_account_id) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('journal_source_account_id', preFilled.journal_source_account_id) }}
|
||||
{% endif %}
|
||||
|
||||
{# show destination account id, if deposit (is asset): #}
|
||||
{% if preFilled.what == 'deposit' or preFilled.what == 'transfer' %}
|
||||
{{ ExpandedForm.assetAccountList('journal_destination_account_id', preFilled.journal_destination_account_id) }}
|
||||
{{ ExpandedForm.activeAssetAccountList('journal_destination_account_id', preFilled.journal_destination_account_id) }}
|
||||
{% endif %}
|
||||
|
||||
{# show amount and some helper text when making splits: #}
|
||||
|
Loading…
Reference in New Issue
Block a user