diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 4aa79f58ec..0064d1f97f 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -16,4 +16,4 @@ jobs: issue-lock-comment: > This issue has been automatically locked since there has not been any recent activity after it was closed. - Please open a new issue for related bugs. \ No newline at end of file + Please open a new issue for related bugs. diff --git a/app/Console/Commands/Upgrade/BackToJournals.php b/app/Console/Commands/Upgrade/BackToJournals.php index 4de0bd1eed..358452af1f 100644 --- a/app/Console/Commands/Upgrade/BackToJournals.php +++ b/app/Console/Commands/Upgrade/BackToJournals.php @@ -64,7 +64,7 @@ class BackToJournals extends Command $this->error('Please run firefly-iii:migrate-to-groups first.'); } if ($this->isExecuted() && true !== $this->option('force')) { - $this->info('This command has already been executed.'); + $this->warn('This command has already been executed.'); return 0; } diff --git a/app/Generator/Webhook/StandardMessageGenerator.php b/app/Generator/Webhook/StandardMessageGenerator.php index aeb6ee9660..f48404cfde 100644 --- a/app/Generator/Webhook/StandardMessageGenerator.php +++ b/app/Generator/Webhook/StandardMessageGenerator.php @@ -101,7 +101,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface */ private function getWebhooks(): Collection { - return $this->user->webhooks()->where('active', 1)->where('trigger', $this->trigger)->get(['webhooks.*']); + return $this->user->webhooks()->where('active', true)->where('trigger', $this->trigger)->get(['webhooks.*']); } /** diff --git a/app/Helpers/Collector/GroupCollector.php b/app/Helpers/Collector/GroupCollector.php index 961781e091..2d04f8f34e 100644 --- a/app/Helpers/Collector/GroupCollector.php +++ b/app/Helpers/Collector/GroupCollector.php @@ -497,7 +497,7 @@ class GroupCollector implements GroupCollectorInterface ->where( static function (EloquentBuilder $q1) { $q1->where('attachments.attachable_type', TransactionJournal::class); - $q1->where('attachments.uploaded', 1); + $q1->where('attachments.uploaded', true); $q1->orWhereNull('attachments.attachable_type'); } ); diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 5163730398..7d3f9ecbf8 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -354,7 +354,7 @@ class ProfileController extends Controller $user = auth()->user(); $isInternalAuth = $this->internalAuth; $isInternalIdentity = $this->internalIdentity; - $count = DB::table('oauth_clients')->where('personal_access_client', 1)->whereNull('user_id')->count(); + $count = DB::table('oauth_clients')->where('personal_access_client', true)->whereNull('user_id')->count(); $subTitle = $user->email; $userId = $user->id; $enabled2FA = null !== $user->mfa_secret; diff --git a/app/Http/Controllers/Rule/SelectController.php b/app/Http/Controllers/Rule/SelectController.php index e6f1f86893..040860406c 100644 --- a/app/Http/Controllers/Rule/SelectController.php +++ b/app/Http/Controllers/Rule/SelectController.php @@ -158,6 +158,7 @@ class SelectController extends Controller $rule->ruleTriggers = $triggers; // create new rule engine: + /** @var RuleEngineInterface $newRuleEngine */ $newRuleEngine = app(RuleEngineInterface::class); // set rules: diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php index 6177f200e8..03089c709a 100644 --- a/app/Repositories/Account/AccountRepository.php +++ b/app/Repositories/Account/AccountRepository.php @@ -259,7 +259,7 @@ class AccountRepository implements AccountRepositoryInterface if (0 !== count($types)) { $query->accountTypeIn($types); } - $query->where('active', 1); + $query->where('active', true); $query->orderBy('accounts.account_type_id', 'ASC'); $query->orderBy('accounts.order', 'ASC'); $query->orderBy('accounts.name', 'ASC'); @@ -640,7 +640,7 @@ class AccountRepository implements AccountRepositoryInterface public function searchAccount(string $query, array $types, int $limit): Collection { $dbQuery = $this->user->accounts() - ->where('active', 1) + ->where('active', true) ->orderBy('accounts.order', 'ASC') ->orderBy('accounts.account_type_id', 'ASC') ->orderBy('accounts.name', 'ASC') @@ -669,7 +669,7 @@ class AccountRepository implements AccountRepositoryInterface { $dbQuery = $this->user->accounts()->distinct() ->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id') - ->where('accounts.active', 1) + ->where('accounts.active', true) ->orderBy('accounts.order', 'ASC') ->orderBy('accounts.account_type_id', 'ASC') ->orderBy('accounts.name', 'ASC') diff --git a/app/Repositories/Account/OperationsRepository.php b/app/Repositories/Account/OperationsRepository.php index c5b943b289..ed24597cc8 100644 --- a/app/Repositories/Account/OperationsRepository.php +++ b/app/Repositories/Account/OperationsRepository.php @@ -261,6 +261,12 @@ class OperationsRepository implements OperationsRepositoryInterface $collector->setSourceAccounts($opposing); } } + if(TransactionType::TRANSFER === $type) { + // supports only accounts, not opposing. + if(null !== $accounts) { + $collector->setAccounts($accounts); + } + } if (null !== $currency) { $collector->setCurrency($currency); diff --git a/app/Repositories/Bill/BillRepository.php b/app/Repositories/Bill/BillRepository.php index 1a9897d53a..bae560b7c9 100644 --- a/app/Repositories/Bill/BillRepository.php +++ b/app/Repositories/Bill/BillRepository.php @@ -166,7 +166,7 @@ class BillRepository implements BillRepositoryInterface public function getActiveBills(): Collection { return $this->user->bills() - ->where('active', 1) + ->where('active', true) ->orderBy('bills.name', 'ASC') ->get(['bills.*', DB::raw('((bills.amount_min + bills.amount_max) / 2) AS expectedAmount'),]); } diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php index b296995edd..416e59dff9 100644 --- a/app/Repositories/Budget/BudgetRepository.php +++ b/app/Repositories/Budget/BudgetRepository.php @@ -197,7 +197,7 @@ class BudgetRepository implements BudgetRepositoryInterface */ public function getActiveBudgets(): Collection { - return $this->user->budgets()->where('active', 1) + return $this->user->budgets()->where('active', true) ->orderBy('order', 'ASC') ->orderBy('name', 'ASC') ->get(); @@ -282,7 +282,7 @@ class BudgetRepository implements BudgetRepositoryInterface $search->where('name', 'LIKE', sprintf('%%%s%%', $query)); } $search->orderBy('order', 'ASC') - ->orderBy('name', 'ASC')->where('active', 1); + ->orderBy('name', 'ASC')->where('active', true); return $search->take($limit)->get(); } diff --git a/app/Repositories/Currency/CurrencyRepository.php b/app/Repositories/Currency/CurrencyRepository.php index d96e2aad6c..c2249e6bbe 100644 --- a/app/Repositories/Currency/CurrencyRepository.php +++ b/app/Repositories/Currency/CurrencyRepository.php @@ -448,7 +448,7 @@ class CurrencyRepository implements CurrencyRepositoryInterface */ public function searchCurrency(string $search, int $limit): Collection { - $query = TransactionCurrency::where('enabled', 1); + $query = TransactionCurrency::where('enabled', true); if ('' !== $search) { $query->where('name', 'LIKE', sprintf('%%%s%%', $search)); } diff --git a/app/Repositories/Rule/RuleRepository.php b/app/Repositories/Rule/RuleRepository.php index 68130393cd..dd75f8d930 100644 --- a/app/Repositories/Rule/RuleRepository.php +++ b/app/Repositories/Rule/RuleRepository.php @@ -211,8 +211,8 @@ class RuleRepository implements RuleRepositoryInterface { $collection = $this->user->rules() ->leftJoin('rule_groups', 'rule_groups.id', '=', 'rules.rule_group_id') - ->where('rules.active', 1) - ->where('rule_groups.active', 1) + ->where('rules.active', true) + ->where('rule_groups.active', true) ->orderBy('rule_groups.order', 'ASC') ->orderBy('rules.order', 'ASC') ->orderBy('rules.id', 'ASC') @@ -238,8 +238,8 @@ class RuleRepository implements RuleRepositoryInterface { $collection = $this->user->rules() ->leftJoin('rule_groups', 'rule_groups.id', '=', 'rules.rule_group_id') - ->where('rules.active', 1) - ->where('rule_groups.active', 1) + ->where('rules.active', true) + ->where('rule_groups.active', true) ->orderBy('rule_groups.order', 'ASC') ->orderBy('rules.order', 'ASC') ->orderBy('rules.id', 'ASC') diff --git a/app/Repositories/RuleGroup/RuleGroupRepository.php b/app/Repositories/RuleGroup/RuleGroupRepository.php index f1fad15cef..bdc2c5bb74 100644 --- a/app/Repositories/RuleGroup/RuleGroupRepository.php +++ b/app/Repositories/RuleGroup/RuleGroupRepository.php @@ -150,7 +150,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface */ public function getActiveGroups(): Collection { - return $this->user->ruleGroups()->with(['rules'])->where('rule_groups.active', 1)->orderBy('order', 'ASC')->get(['rule_groups.*']); + return $this->user->ruleGroups()->with(['rules'])->where('rule_groups.active', true)->orderBy('order', 'ASC')->get(['rule_groups.*']); } /** @@ -161,7 +161,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface public function getActiveRules(RuleGroup $group): Collection { return $group->rules() - ->where('rules.active', 1) + ->where('rules.active', true) ->get(['rules.*']); } @@ -176,7 +176,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface ->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id') ->where('rule_triggers.trigger_type', 'user_action') ->where('rule_triggers.trigger_value', 'store-journal') - ->where('rules.active', 1) + ->where('rules.active', true) ->get(['rules.*']); } @@ -191,7 +191,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface ->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id') ->where('rule_triggers.trigger_type', 'user_action') ->where('rule_triggers.trigger_value', 'update-journal') - ->where('rules.active', 1) + ->where('rules.active', true) ->get(['rules.*']); } @@ -326,7 +326,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface */ public function maxOrder(): int { - return (int)$this->user->ruleGroups()->where('active', 1)->max('order'); + return (int)$this->user->ruleGroups()->where('active', true)->max('order'); } /** @@ -337,7 +337,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface $this->user->ruleGroups()->where('active', false)->update(['order' => 0]); $set = $this->user ->ruleGroups() - ->where('active', 1) + ->where('active', true) ->whereNull('deleted_at') ->orderBy('order', 'ASC') ->orderBy('title', 'DESC') diff --git a/app/Repositories/TransactionGroup/TransactionGroupRepository.php b/app/Repositories/TransactionGroup/TransactionGroupRepository.php index a0581d398e..71d568e00f 100644 --- a/app/Repositories/TransactionGroup/TransactionGroupRepository.php +++ b/app/Repositories/TransactionGroup/TransactionGroupRepository.php @@ -102,7 +102,7 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface $journals = $group->transactionJournals->pluck('id')->toArray(); $set = Attachment::whereIn('attachable_id', $journals) ->where('attachable_type', TransactionJournal::class) - ->where('uploaded', 1) + ->where('uploaded', true) ->whereNull('deleted_at')->get(); $result = []; diff --git a/app/Services/Internal/Update/AccountUpdateService.php b/app/Services/Internal/Update/AccountUpdateService.php index 09ca4f9833..74318bb1a1 100644 --- a/app/Services/Internal/Update/AccountUpdateService.php +++ b/app/Services/Internal/Update/AccountUpdateService.php @@ -136,6 +136,15 @@ class AccountUpdateService $account->account_type_id = $type->id; } } + // set liability, alternative method used in v1 layout: + + if ($this->isLiability($account) && array_key_exists('account_type_id', $data)) { + $type = AccountType::find((int)$data['account_type_id']); + + if (null !== $type && in_array($type->type, config('firefly.valid_liabilities'), true)) { + $account->account_type_id = $type->id; + } + } // update virtual balance (could be set to zero if empty string). if (array_key_exists('virtual_balance', $data) && null !== $data['virtual_balance']) { diff --git a/app/Support/Binder/BudgetList.php b/app/Support/Binder/BudgetList.php index ba4daf89f2..134f17233d 100644 --- a/app/Support/Binder/BudgetList.php +++ b/app/Support/Binder/BudgetList.php @@ -46,7 +46,7 @@ class BudgetList implements BinderInterface if (auth()->check()) { if ('allBudgets' === $value) { - return auth()->user()->budgets()->where('active', 1) + return auth()->user()->budgets()->where('active', true) ->orderBy('order', 'ASC') ->orderBy('name', 'ASC') ->get(); @@ -63,7 +63,7 @@ class BudgetList implements BinderInterface /** @var Collection $collection */ $collection = auth()->user()->budgets() - ->where('active', 1) + ->where('active', true) ->whereIn('id', $list) ->get(); diff --git a/app/Support/Http/Controllers/RuleManagement.php b/app/Support/Http/Controllers/RuleManagement.php index c9e2d6f4fd..09141fa90b 100644 --- a/app/Support/Http/Controllers/RuleManagement.php +++ b/app/Support/Http/Controllers/RuleManagement.php @@ -61,7 +61,7 @@ trait RuleManagement ], [ 'type' => 'from_account_is', - 'value' => (string)trans('firefly.default_rule_trigger_from_account'), + 'value' => (string)trans('firefly.default_rule_trigger_source_account'), 'stop_processing' => false, ], diff --git a/app/TransactionRules/Engine/SearchRuleEngine.php b/app/TransactionRules/Engine/SearchRuleEngine.php index 56a4e6db21..71327d2b6b 100644 --- a/app/TransactionRules/Engine/SearchRuleEngine.php +++ b/app/TransactionRules/Engine/SearchRuleEngine.php @@ -145,6 +145,7 @@ class SearchRuleEngine implements RuleEngineInterface */ public function setRules(Collection $rules): void { + Log::debug(__METHOD__); foreach ($rules as $rule) { if ($rule instanceof Rule) { @@ -227,8 +228,16 @@ class SearchRuleEngine implements RuleEngineInterface { Log::debug(sprintf('Now in findStrictRule(#%d)', $rule->id ?? 0)); $searchArray = []; + + /** @var Collection $triggers */ + $triggers = $rule->ruleTriggers; + /** @var RuleTrigger $ruleTrigger */ - foreach ($rule->ruleTriggers()->where('active', 1)->get() as $ruleTrigger) { + foreach ($triggers as $ruleTrigger) { + if (false === $ruleTrigger->active) { + continue; + } + // if needs no context, value is different: $needsContext = config(sprintf('firefly.search.operators.%s.needs_context', $ruleTrigger->trigger_type)) ?? true; if (false === $needsContext) { @@ -241,6 +250,7 @@ class SearchRuleEngine implements RuleEngineInterface } } + // add local operators: foreach ($this->operators as $operator) { Log::debug(sprintf('SearchRuleEngine:: add local added operator: %s:"%s"', $operator['type'], $operator['value'])); @@ -373,7 +383,7 @@ class SearchRuleEngine implements RuleEngineInterface { Log::debug(sprintf('SearchRuleEngine:: Will now execute actions on transaction journal #%d', $transaction['transaction_journal_id'])); /** @var RuleAction $ruleAction */ - foreach ($rule->ruleActions()->where('active', 1)->get() as $ruleAction) { + foreach ($rule->ruleActions()->where('active', true)->get() as $ruleAction) { $break = $this->processRuleAction($ruleAction, $transaction); if (true === $break) { break; @@ -448,8 +458,15 @@ class SearchRuleEngine implements RuleEngineInterface // start a search query for individual each trigger: $total = new Collection; $count = 0; + + /** @var Collection $triggers */ + $triggers = $rule->ruleTriggers; + /** @var RuleTrigger $ruleTrigger */ - foreach ($rule->ruleTriggers()->where('active', 1)->get() as $ruleTrigger) { + foreach ($triggers as $ruleTrigger) { + if (false === $ruleTrigger->active) { + continue; + } if ('user_action' === $ruleTrigger->trigger_type) { Log::debug('Skip trigger type.'); continue; diff --git a/changelog.md b/changelog.md index 74c253ce23..2665a7bbd8 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## 5.5.11 - 2021-05-08 + +⚠️ On July 1st 2021 the Docker tag will change to `fireflyiii/core`. You can already start using the new tag. + +### Fixed +- [Issue 4707](https://github.com/firefly-iii/firefly-iii/issues/4707) [issue 4732](https://github.com/firefly-iii/firefly-iii/issues/4732) Rule tests were broken, and matching transactions were not visible. +- [Issue 4729](https://github.com/firefly-iii/firefly-iii/issues/4729) Top boxes were no longer visible. +- [Issue 4730](https://github.com/firefly-iii/firefly-iii/issues/4730) Second split transaction had today's date +- [Issue 4734](https://github.com/firefly-iii/firefly-iii/issues/4734) Potential fixes for PostgreSQL and PHP 7.4.18. +- [Issue 4739](https://github.com/firefly-iii/firefly-iii/issues/4739) Was not possible to change liability type. ## 5.5.10 - 2021-05-01 diff --git a/composer.lock b/composer.lock index d0239efc90..54d06d8534 100644 --- a/composer.lock +++ b/composer.lock @@ -2192,16 +2192,16 @@ }, { "name": "league/commonmark", - "version": "1.5.8", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf" + "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", - "reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2651c497f005de305c7ba3f232cbd87b8c00ee8c", + "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c", "shasum": "" }, "require": { @@ -2289,7 +2289,7 @@ "type": "tidelift" } ], - "time": "2021-03-28T18:51:39+00:00" + "time": "2021-05-08T16:08:00+00:00" }, { "name": "league/csv", @@ -2833,16 +2833,16 @@ }, { "name": "nesbot/carbon", - "version": "2.46.0", + "version": "2.47.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4" + "reference": "606262fd8888b75317ba9461825a24fc34001e1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", - "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/606262fd8888b75317ba9461825a24fc34001e1e", + "reference": "606262fd8888b75317ba9461825a24fc34001e1e", "shasum": "" }, "require": { @@ -2922,7 +2922,7 @@ "type": "tidelift" } ], - "time": "2021-02-24T17:30:44+00:00" + "time": "2021-04-13T21:54:02+00:00" }, { "name": "nyholm/psr7", @@ -3924,16 +3924,16 @@ }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -3957,7 +3957,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -3968,9 +3968,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" + "source": "https://github.com/php-fig/log/tree/1.1.4" }, - "time": "2020-03-23T09:12:05+00:00" + "time": "2021-05-03T11:20:27+00:00" }, { "name": "psr/simple-cache", @@ -4449,16 +4449,16 @@ }, { "name": "symfony/console", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d" + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d", + "url": "https://api.github.com/repos/symfony/console/zipball/90374b8ed059325b49a29b55b3f8bb4062c87629", + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629", "shasum": "" }, "require": { @@ -4526,7 +4526,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.2.6" + "source": "https://github.com/symfony/console/tree/v5.2.7" }, "funding": [ { @@ -4542,20 +4542,20 @@ "type": "tidelift" } ], - "time": "2021-03-28T09:42:18+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { "name": "symfony/css-selector", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" + "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/59a684f5ac454f066ecbe6daecce6719aed283fb", + "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb", "shasum": "" }, "require": { @@ -4591,7 +4591,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.2.4" + "source": "https://github.com/symfony/css-selector/tree/v5.3.0-BETA1" }, "funding": [ { @@ -4607,7 +4607,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-04-07T16:07:52+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4678,16 +4678,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03" + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/bdb7fb4188da7f4211e4b88350ba0dfdad002b03", - "reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782", + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782", "shasum": "" }, "require": { @@ -4727,7 +4727,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.2.6" + "source": "https://github.com/symfony/error-handler/tree/v5.2.7" }, "funding": [ { @@ -4743,7 +4743,7 @@ "type": "tidelift" } ], - "time": "2021-03-16T09:07:47+00:00" + "time": "2021-04-07T15:57:33+00:00" }, { "name": "symfony/event-dispatcher", @@ -5050,16 +5050,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf" + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", "shasum": "" }, "require": { @@ -5103,7 +5103,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.2.4" + "source": "https://github.com/symfony/http-foundation/tree/v5.2.7" }, "funding": [ { @@ -5119,20 +5119,20 @@ "type": "tidelift" } ], - "time": "2021-02-25T17:16:57+00:00" + "time": "2021-05-01T13:46:24+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2" + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", - "reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd", + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd", "shasum": "" }, "require": { @@ -5215,7 +5215,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.2.6" + "source": "https://github.com/symfony/http-kernel/tree/v5.2.7" }, "funding": [ { @@ -5231,20 +5231,20 @@ "type": "tidelift" } ], - "time": "2021-03-29T05:16:58+00:00" + "time": "2021-05-01T14:53:15+00:00" }, { "name": "symfony/mime", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "1b2092244374cbe48ae733673f2ca0818b37197b" + "reference": "7af452bf51c46f18da00feb32e1ad36db9426515" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/1b2092244374cbe48ae733673f2ca0818b37197b", - "reference": "1b2092244374cbe48ae733673f2ca0818b37197b", + "url": "https://api.github.com/repos/symfony/mime/zipball/7af452bf51c46f18da00feb32e1ad36db9426515", + "reference": "7af452bf51c46f18da00feb32e1ad36db9426515", "shasum": "" }, "require": { @@ -5298,7 +5298,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.2.6" + "source": "https://github.com/symfony/mime/tree/v5.2.7" }, "funding": [ { @@ -5314,7 +5314,7 @@ "type": "tidelift" } ], - "time": "2021-03-12T13:18:39+00:00" + "time": "2021-04-29T20:47:09+00:00" }, { "name": "symfony/polyfill-ctype", @@ -6047,16 +6047,16 @@ }, { "name": "symfony/process", - "version": "v5.2.4", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "url": "https://api.github.com/repos/symfony/process/zipball/98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", "shasum": "" }, "require": { @@ -6089,7 +6089,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.2.4" + "source": "https://github.com/symfony/process/tree/v5.3.0-BETA1" }, "funding": [ { @@ -6105,7 +6105,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-04-08T10:27:02+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -6197,16 +6197,16 @@ }, { "name": "symfony/routing", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6" + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/31fba555f178afd04d54fd26953501b2c3f0c6e6", - "reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6", + "url": "https://api.github.com/repos/symfony/routing/zipball/3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", "shasum": "" }, "require": { @@ -6229,7 +6229,6 @@ "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", "symfony/config": "For using the all-in-one router or any loader", "symfony/expression-language": "For using expression matching", "symfony/http-foundation": "For using a Symfony Request object", @@ -6267,7 +6266,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.2.6" + "source": "https://github.com/symfony/routing/tree/v5.2.7" }, "funding": [ { @@ -6283,7 +6282,7 @@ "type": "tidelift" } ], - "time": "2021-03-14T13:53:33+00:00" + "time": "2021-04-11T22:55:21+00:00" }, { "name": "symfony/service-contracts", @@ -6449,16 +6448,16 @@ }, { "name": "symfony/translation", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1" + "reference": "e37ece5242564bceea54d709eafc948377ec9749" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/2cc7f45d96db9adfcf89adf4401d9dfed509f4e1", - "reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1", + "url": "https://api.github.com/repos/symfony/translation/zipball/e37ece5242564bceea54d709eafc948377ec9749", + "reference": "e37ece5242564bceea54d709eafc948377ec9749", "shasum": "" }, "require": { @@ -6522,7 +6521,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.2.6" + "source": "https://github.com/symfony/translation/tree/v5.2.7" }, "funding": [ { @@ -6538,7 +6537,7 @@ "type": "tidelift" } ], - "time": "2021-03-23T19:33:48+00:00" + "time": "2021-04-01T08:15:21+00:00" }, { "name": "symfony/translation-contracts", @@ -6620,16 +6619,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e" + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89412a68ea2e675b4e44f260a5666729f77f668e", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636", + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636", "shasum": "" }, "require": { @@ -6688,7 +6687,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.2.6" + "source": "https://github.com/symfony/var-dumper/tree/v5.2.7" }, "funding": [ { @@ -6704,7 +6703,7 @@ "type": "tidelift" } ], - "time": "2021-03-28T09:42:18+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -8342,16 +8341,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.10.4", + "version": "v4.10.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f", + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f", "shasum": "" }, "require": { @@ -8392,9 +8391,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.5" }, - "time": "2020-12-20T10:01:03+00:00" + "time": "2021-05-03T19:11:20+00:00" }, { "name": "nunomaduro/larastan", @@ -8831,16 +8830,16 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.85", + "version": "0.12.86", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "20e6333c0067875ad7697cd8acdf245c6ef69d03" + "reference": "a84fdc53ecca7643dbc89ef8880d8b393a6c155a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/20e6333c0067875ad7697cd8acdf245c6ef69d03", - "reference": "20e6333c0067875ad7697cd8acdf245c6ef69d03", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a84fdc53ecca7643dbc89ef8880d8b393a6c155a", + "reference": "a84fdc53ecca7643dbc89ef8880d8b393a6c155a", "shasum": "" }, "require": { @@ -8871,7 +8870,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.85" + "source": "https://github.com/phpstan/phpstan/tree/0.12.86" }, "funding": [ { @@ -8887,7 +8886,7 @@ "type": "tidelift" } ], - "time": "2021-04-27T14:13:16+00:00" + "time": "2021-05-08T11:29:01+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -9417,12 +9416,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "2da463d475b13cf8c519d862f1a6423ab7a515e3" + "reference": "07314cf15422b2e162d591fe8ef2b850612b808f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/2da463d475b13cf8c519d862f1a6423ab7a515e3", - "reference": "2da463d475b13cf8c519d862f1a6423ab7a515e3", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/07314cf15422b2e162d591fe8ef2b850612b808f", + "reference": "07314cf15422b2e162d591fe8ef2b850612b808f", "shasum": "" }, "conflict": { @@ -9440,7 +9439,7 @@ "barrelstrength/sprout-forms": "<3.9", "baserproject/basercms": ">=4,<=4.3.6|>=4.4,<4.4.1", "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", - "bolt/bolt": "<3.7.1", + "bolt/bolt": "<3.7.2", "bolt/core": "<4.1.13", "brightlocal/phpwhois": "<=4.2.5", "buddypress/buddypress": "<5.1.2", @@ -9472,6 +9471,7 @@ "dompdf/dompdf": ">=0.6,<0.6.2", "drupal/core": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", "drupal/drupal": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", + "dweeves/magmi": "<=0.7.24", "endroid/qr-code-bundle": "<3.4.2", "enshrined/svg-sanitize": "<0.13.1", "erusev/parsedown": "<1.7.2", @@ -9496,7 +9496,9 @@ "flarum/tags": "<=0.1-beta.13", "fluidtypo3/vhs": "<5.1.1", "fooman/tcpdf": "<6.2.22", + "forkcms/forkcms": "<5.8.3", "fossar/tcpdf-parser": "<6.2.22", + "francoisjacquet/rosariosis": "<6.5.1", "friendsofsymfony/oauth2-php": "<1.3", "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", @@ -9527,7 +9529,7 @@ "laravel/framework": "<6.20.26|>=7,<8.40", "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", "league/commonmark": "<0.18.3", - "librenms/librenms": "<1.53", + "librenms/librenms": "<21.1", "livewire/livewire": ">2.2.4,<2.2.6", "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", "magento/magento1ce": "<1.9.4.3", @@ -9548,11 +9550,12 @@ "nystudio107/craft-seomatic": "<3.3", "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", "october/backend": "<1.1.2", - "october/cms": "= 1.0.469|>=1.0.319,<1.0.469", + "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", "october/october": ">=1.0.319,<1.0.466", "october/rain": "<1.0.472|>=1.1,<1.1.2", "onelogin/php-saml": "<2.10.4", "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "opencart/opencart": "<=3.0.3.2", "openid/php-openid": "<2.3", "openmage/magento-lts": "<=19.4.12|>=20,<=20.0.8", "orchid/platform": ">=9,<9.4.4", @@ -9566,7 +9569,7 @@ "pear/archive_tar": "<1.4.12", "personnummer/personnummer": "<3.0.2", "phpfastcache/phpfastcache": ">=5,<5.0.13", - "phpmailer/phpmailer": "<6.1.6", + "phpmailer/phpmailer": "<6.1.6|>=6.1.8,<6.4.1", "phpmussel/phpmussel": ">=1,<1.6", "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3", "phpoffice/phpexcel": "<1.8.2", @@ -9724,7 +9727,8 @@ "zetacomponents/mail": "<1.8.2", "zf-commons/zfc-user": "<1.2.2", "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", - "zfr/zfr-oauth2-server-module": "<0.1.2" + "zfr/zfr-oauth2-server-module": "<0.1.2", + "zoujingli/thinkadmin": "<6.0.22" }, "type": "metapackage", "notification-url": "https://packagist.org/downloads/", @@ -9758,7 +9762,7 @@ "type": "tidelift" } ], - "time": "2021-04-30T18:08:49+00:00" + "time": "2021-05-06T19:08:33+00:00" }, { "name": "sebastian/cli-parser", @@ -10837,16 +10841,16 @@ }, { "name": "symfony/debug", - "version": "v4.4.20", + "version": "v4.4.22", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "157bbec4fd773bae53c5483c50951a5530a2cc16" + "reference": "45b2136377cca5f10af858968d6079a482bca473" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/157bbec4fd773bae53c5483c50951a5530a2cc16", - "reference": "157bbec4fd773bae53c5483c50951a5530a2cc16", + "url": "https://api.github.com/repos/symfony/debug/zipball/45b2136377cca5f10af858968d6079a482bca473", + "reference": "45b2136377cca5f10af858968d6079a482bca473", "shasum": "" }, "require": { @@ -10886,7 +10890,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.20" + "source": "https://github.com/symfony/debug/tree/v4.4.22" }, "funding": [ { @@ -10902,20 +10906,20 @@ "type": "tidelift" } ], - "time": "2021-01-28T16:54:48+00:00" + "time": "2021-04-02T07:50:12+00:00" }, { "name": "symfony/filesystem", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f" + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/056e92acc21d977c37e6ea8e97374b2a6c8551b0", + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0", "shasum": "" }, "require": { @@ -10948,7 +10952,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.2.6" + "source": "https://github.com/symfony/filesystem/tree/v5.2.7" }, "funding": [ { @@ -10964,7 +10968,7 @@ "type": "tidelift" } ], - "time": "2021-03-28T14:30:26+00:00" + "time": "2021-04-01T10:42:13+00:00" }, { "name": "thecodingmachine/phpstan-strict-rules", diff --git a/config/firefly.php b/config/firefly.php index 7a9fc5f730..a6eebbc793 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -100,7 +100,7 @@ return [ 'handle_debts' => true, ], - 'version' => '5.5.10', + 'version' => '5.5.11', 'api_version' => '1.5.2', 'db_version' => 16, 'maxUploadSize' => 1073741824, // 1 GB diff --git a/frontend/mix-manifest.json b/frontend/mix-manifest.json index 188b6465ac..942b7d10f9 100644 --- a/frontend/mix-manifest.json +++ b/frontend/mix-manifest.json @@ -4,6 +4,7 @@ "/public/js/accounts/delete.js": "/public/js/accounts/delete.js", "/public/js/accounts/show.js": "/public/js/accounts/show.js", "/public/js/accounts/create.js": "/public/js/accounts/create.js", + "/public/js/budgets/index.js": "/public/js/budgets/index.js", "/public/js/transactions/create.js": "/public/js/transactions/create.js", "/public/js/transactions/edit.js": "/public/js/transactions/edit.js", "/public/js/transactions/index.js": "/public/js/transactions/index.js", diff --git a/frontend/src/components/budgets/Index.vue b/frontend/src/components/budgets/Index.vue new file mode 100644 index 0000000000..746f59b198 --- /dev/null +++ b/frontend/src/components/budgets/Index.vue @@ -0,0 +1,114 @@ + + + + + + + \ No newline at end of file diff --git a/frontend/src/components/dashboard/BudgetLimitRow.vue b/frontend/src/components/dashboard/BudgetLimitRow.vue index 029e0e0c8e..e0e52e0131 100644 --- a/frontend/src/components/dashboard/BudgetLimitRow.vue +++ b/frontend/src/components/dashboard/BudgetLimitRow.vue @@ -27,7 +27,7 @@
+ aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-success" role="progressbar"> {{ $t('firefly.spent_x_of_y', {amount: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent), total: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.amount)}) }} @@ -37,14 +37,14 @@
+ aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-warning" role="progressbar"> {{ $t('firefly.spent_x_of_y', {amount: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent), total: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.amount)}) }}
+ aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-danger" role="progressbar"> {{ $t('firefly.spent_x_of_y', {amount: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent), total: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.amount)}) }} diff --git a/frontend/src/components/dashboard/MainCreditList.vue b/frontend/src/components/dashboard/MainCreditList.vue index 28e74242b3..9f7f7d6da4 100644 --- a/frontend/src/components/dashboard/MainCreditList.vue +++ b/frontend/src/components/dashboard/MainCreditList.vue @@ -51,7 +51,7 @@
{{ Intl.NumberFormat(locale, {style: 'currency', currency: entry.currency_code}).format(entry.difference_float) }} diff --git a/frontend/src/components/dashboard/MainDebitList.vue b/frontend/src/components/dashboard/MainDebitList.vue index 7e730f5c2a..ada8c12276 100644 --- a/frontend/src/components/dashboard/MainDebitList.vue +++ b/frontend/src/components/dashboard/MainDebitList.vue @@ -51,7 +51,7 @@
{{ Intl.NumberFormat(locale, {style: 'currency', currency: entry.currency_code}).format(entry.difference_float) }} diff --git a/frontend/src/components/dashboard/MainPiggyList.vue b/frontend/src/components/dashboard/MainPiggyList.vue index a9f1acde32..2467bc9a58 100644 --- a/frontend/src/components/dashboard/MainPiggyList.vue +++ b/frontend/src/components/dashboard/MainPiggyList.vue @@ -58,7 +58,7 @@
-
+
diff --git a/frontend/src/components/dashboard/TopBoxes.vue b/frontend/src/components/dashboard/TopBoxes.vue index 1710560c6a..b1b6a58019 100644 --- a/frontend/src/components/dashboard/TopBoxes.vue +++ b/frontend/src/components/dashboard/TopBoxes.vue @@ -20,7 +20,7 @@