Compare commits

...

13 Commits

Author SHA1 Message Date
James Cole
34bfeba63a Fix #11211 2025-11-13 20:32:02 +01:00
github-actions[bot]
761c20b670 Merge pull request #11234 from firefly-iii/release-1763009724
🤖 Automatically merge the PR into the develop branch.
2025-11-13 05:55:30 +01:00
JC5
d756977ee0 🤖 Auto commit for release 'develop' on 2025-11-13 2025-11-13 05:55:24 +01:00
github-actions[bot]
40fe0d9c57 Merge pull request #11233 from firefly-iii/develop
🤖 Automatically merge the PR into the main branch.
2025-11-13 05:42:18 +01:00
github-actions[bot]
09b3fa1a52 Merge pull request #11232 from firefly-iii/release-1763008922
🤖 Automatically merge the PR into the develop branch.
2025-11-13 05:42:11 +01:00
JC5
bab767a447 🤖 Auto commit for release 'v6.4.8' on 2025-11-13 2025-11-13 05:42:02 +01:00
James Cole
341ab69939 Merge branch 'main' into develop 2025-11-13 05:37:15 +01:00
James Cole
479b90d9fc Expand changelog. 2025-11-13 05:36:59 +01:00
James Cole
91889332b4 Merge pull request #11231 from firefly-iii/dependabot/composer/composer-da8c4f16ae 2025-11-13 05:09:28 +01:00
dependabot[bot]
22b623c561 Bump symfony/http-foundation in the composer group across 1 directory
Bumps the composer group with 1 update in the / directory: [symfony/http-foundation](https://github.com/symfony/http-foundation).


Updates `symfony/http-foundation` from 7.3.6 to 7.3.7
- [Release notes](https://github.com/symfony/http-foundation/releases)
- [Changelog](https://github.com/symfony/http-foundation/blob/7.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-foundation/compare/v7.3.6...v7.3.7)

---
updated-dependencies:
- dependency-name: symfony/http-foundation
  dependency-version: 7.3.7
  dependency-type: indirect
  dependency-group: composer
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-12 23:42:25 +00:00
github-actions[bot]
75932a9671 Merge pull request #11229 from firefly-iii/release-1762967310
🤖 Automatically merge the PR into the develop branch.
2025-11-12 18:08:37 +01:00
JC5
3ec528812b 🤖 Auto commit for release 'develop' on 2025-11-12 2025-11-12 18:08:30 +01:00
James Cole
78de800777 Fix #11228 2025-11-12 18:02:24 +01:00
9 changed files with 98 additions and 75 deletions

View File

@@ -23,15 +23,16 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Requests\Generic; namespace FireflyIII\Api\V1\Requests\Generic;
use Override;
use Illuminate\Contracts\Validation\Validator;
use FireflyIII\Api\V1\Requests\ApiRequest; use FireflyIII\Api\V1\Requests\ApiRequest;
use FireflyIII\Enums\AccountTypeEnum;
use FireflyIII\Models\Account; use FireflyIII\Models\Account;
use FireflyIII\Models\Transaction; use FireflyIII\Models\Transaction;
use FireflyIII\Rules\Account\IsValidAccountTypeList; use FireflyIII\Rules\Account\IsValidAccountTypeList;
use FireflyIII\Rules\TransactionType\IsValidTransactionTypeList; use FireflyIII\Rules\TransactionType\IsValidTransactionTypeList;
use FireflyIII\Support\Http\Api\AccountFilter; use FireflyIII\Support\Http\Api\AccountFilter;
use FireflyIII\Support\Http\Api\TransactionFilter; use FireflyIII\Support\Http\Api\TransactionFilter;
use Illuminate\Contracts\Validation\Validator;
use Override;
use RuntimeException; use RuntimeException;
class ObjectTypeApiRequest extends ApiRequest class ObjectTypeApiRequest extends ApiRequest
@@ -88,7 +89,11 @@ class ObjectTypeApiRequest extends ApiRequest
// no break // no break
case Account::class: case Account::class:
$this->attributes->set('types', $this->mapAccountTypes($type)); $types = $this->mapAccountTypes($type);
// remove system account types because autocomplete doesn't need them.
$types = array_values(array_diff($types, [AccountTypeEnum::INITIAL_BALANCE->value, AccountTypeEnum::RECONCILIATION->value, AccountTypeEnum::LIABILITY_CREDIT->value]));
$this->attributes->set('types', $types);
break; break;

View File

@@ -48,7 +48,7 @@ class IsValidAccountTypeList implements ValidationRule
$keys = array_keys($this->types); $keys = array_keys($this->types);
foreach ($values as $entry) { foreach ($values as $entry) {
if (!in_array($entry, $keys, true)) { if (!in_array($entry, $keys, true)) {
$fail('validation.invalid_account_list')->translate(); $fail('validation.invalid_account_list')->translate(['value' => $entry]);
} }
} }
} }

View File

@@ -33,7 +33,7 @@ trait AccountFilter
{ {
protected array $types protected array $types
= [ = [
'all' => [ 'all' => [
AccountTypeEnum::DEFAULT->value, AccountTypeEnum::DEFAULT->value,
AccountTypeEnum::CASH->value, AccountTypeEnum::CASH->value,
AccountTypeEnum::ASSET->value, AccountTypeEnum::ASSET->value,
@@ -47,7 +47,7 @@ trait AccountFilter
AccountTypeEnum::DEBT->value, AccountTypeEnum::DEBT->value,
AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::MORTGAGE->value,
], ],
'normal' => [ 'normal' => [
AccountTypeEnum::ASSET->value, AccountTypeEnum::ASSET->value,
AccountTypeEnum::EXPENSE->value, AccountTypeEnum::EXPENSE->value,
AccountTypeEnum::REVENUE->value, AccountTypeEnum::REVENUE->value,
@@ -55,41 +55,42 @@ trait AccountFilter
AccountTypeEnum::DEBT->value, AccountTypeEnum::DEBT->value,
AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::MORTGAGE->value,
], ],
'asset' => [AccountTypeEnum::DEFAULT->value, AccountTypeEnum::ASSET->value], 'asset' => [AccountTypeEnum::DEFAULT->value, AccountTypeEnum::ASSET->value],
'cash' => [AccountTypeEnum::CASH->value], 'cash' => [AccountTypeEnum::CASH->value],
'expense' => [AccountTypeEnum::EXPENSE->value, AccountTypeEnum::BENEFICIARY->value], 'expense' => [AccountTypeEnum::EXPENSE->value, AccountTypeEnum::BENEFICIARY->value],
'revenue' => [AccountTypeEnum::REVENUE->value], 'revenue' => [AccountTypeEnum::REVENUE->value],
'special' => [AccountTypeEnum::CASH->value, AccountTypeEnum::INITIAL_BALANCE->value, AccountTypeEnum::IMPORT->value, AccountTypeEnum::RECONCILIATION->value], 'special' => [AccountTypeEnum::CASH->value, AccountTypeEnum::INITIAL_BALANCE->value, AccountTypeEnum::IMPORT->value, AccountTypeEnum::RECONCILIATION->value],
'hidden' => [AccountTypeEnum::INITIAL_BALANCE->value, AccountTypeEnum::IMPORT->value, AccountTypeEnum::RECONCILIATION->value], 'hidden' => [AccountTypeEnum::INITIAL_BALANCE->value, AccountTypeEnum::IMPORT->value, AccountTypeEnum::RECONCILIATION->value],
'liability' => [AccountTypeEnum::DEBT->value, AccountTypeEnum::LOAN->value, AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::CREDITCARD->value], 'liability' => [AccountTypeEnum::DEBT->value, AccountTypeEnum::LOAN->value, AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::CREDITCARD->value],
'liabilities' => [AccountTypeEnum::DEBT->value, AccountTypeEnum::LOAN->value, AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::CREDITCARD->value], 'liabilities' => [AccountTypeEnum::DEBT->value, AccountTypeEnum::LOAN->value, AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::CREDITCARD->value],
AccountTypeEnum::DEFAULT->value => [AccountTypeEnum::DEFAULT->value], AccountTypeEnum::DEFAULT->value => [AccountTypeEnum::DEFAULT->value],
AccountTypeEnum::CASH->value => [AccountTypeEnum::CASH->value], AccountTypeEnum::CASH->value => [AccountTypeEnum::CASH->value],
AccountTypeEnum::ASSET->value => [AccountTypeEnum::ASSET->value], AccountTypeEnum::ASSET->value => [AccountTypeEnum::ASSET->value],
AccountTypeEnum::EXPENSE->value => [AccountTypeEnum::EXPENSE->value], AccountTypeEnum::EXPENSE->value => [AccountTypeEnum::EXPENSE->value],
AccountTypeEnum::REVENUE->value => [AccountTypeEnum::REVENUE->value], AccountTypeEnum::REVENUE->value => [AccountTypeEnum::REVENUE->value],
AccountTypeEnum::INITIAL_BALANCE->value => [AccountTypeEnum::INITIAL_BALANCE->value], AccountTypeEnum::INITIAL_BALANCE->value => [AccountTypeEnum::INITIAL_BALANCE->value],
AccountTypeEnum::BENEFICIARY->value => [AccountTypeEnum::BENEFICIARY->value], AccountTypeEnum::BENEFICIARY->value => [AccountTypeEnum::BENEFICIARY->value],
AccountTypeEnum::IMPORT->value => [AccountTypeEnum::IMPORT->value], AccountTypeEnum::IMPORT->value => [AccountTypeEnum::IMPORT->value],
AccountTypeEnum::RECONCILIATION->value => [AccountTypeEnum::RECONCILIATION->value], AccountTypeEnum::RECONCILIATION->value => [AccountTypeEnum::RECONCILIATION->value],
AccountTypeEnum::LOAN->value => [AccountTypeEnum::LOAN->value], AccountTypeEnum::LOAN->value => [AccountTypeEnum::LOAN->value],
AccountTypeEnum::MORTGAGE->value => [AccountTypeEnum::MORTGAGE->value], AccountTypeEnum::MORTGAGE->value => [AccountTypeEnum::MORTGAGE->value],
AccountTypeEnum::DEBT->value => [AccountTypeEnum::DEBT->value], AccountTypeEnum::DEBT->value => [AccountTypeEnum::DEBT->value],
AccountTypeEnum::CREDITCARD->value => [AccountTypeEnum::CREDITCARD->value], AccountTypeEnum::CREDITCARD->value => [AccountTypeEnum::CREDITCARD->value],
'default account' => [AccountTypeEnum::DEFAULT->value], AccountTypeEnum::LIABILITY_CREDIT->value => [AccountTypeEnum::LIABILITY_CREDIT->value],
'cash account' => [AccountTypeEnum::CASH->value], 'default account' => [AccountTypeEnum::DEFAULT->value],
'asset account' => [AccountTypeEnum::ASSET->value], 'cash account' => [AccountTypeEnum::CASH->value],
'expense account' => [AccountTypeEnum::EXPENSE->value], 'asset account' => [AccountTypeEnum::ASSET->value],
'revenue account' => [AccountTypeEnum::REVENUE->value], 'expense account' => [AccountTypeEnum::EXPENSE->value],
'initial balance account' => [AccountTypeEnum::INITIAL_BALANCE->value], 'revenue account' => [AccountTypeEnum::REVENUE->value],
'reconciliation' => [AccountTypeEnum::RECONCILIATION->value], 'initial balance account' => [AccountTypeEnum::INITIAL_BALANCE->value],
'loan' => [AccountTypeEnum::LOAN->value], 'reconciliation' => [AccountTypeEnum::RECONCILIATION->value],
'mortgage' => [AccountTypeEnum::MORTGAGE->value], 'loan' => [AccountTypeEnum::LOAN->value],
'debt' => [AccountTypeEnum::DEBT->value], 'mortgage' => [AccountTypeEnum::MORTGAGE->value],
'credit card' => [AccountTypeEnum::CREDITCARD->value], 'debt' => [AccountTypeEnum::DEBT->value],
'credit-card' => [AccountTypeEnum::CREDITCARD->value], 'credit card' => [AccountTypeEnum::CREDITCARD->value],
'creditcard' => [AccountTypeEnum::CREDITCARD->value], 'credit-card' => [AccountTypeEnum::CREDITCARD->value],
'cc' => [AccountTypeEnum::CREDITCARD->value], 'creditcard' => [AccountTypeEnum::CREDITCARD->value],
'cc' => [AccountTypeEnum::CREDITCARD->value],
]; ];
/** /**
@@ -104,6 +105,7 @@ trait AccountFilter
$return = array_merge($return, $this->types[$part]); $return = array_merge($return, $this->types[$part]);
} }
} }
if (0 === count($return)) { if (0 === count($return)) {
$return = $this->types['normal']; $return = $this->types['normal'];
} }

View File

@@ -3,13 +3,25 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
## 6.4.9 - 2025-11-xx
### Fixed
- #11211
## 6.4.8 - 2025-11-14
### Fixed
- [Issue 11228](https://github.com/firefly-iii/firefly-iii/issues/11228) (Autocomplete fails when the requested account type list includes hidden account types) reported by @jgmm81
## 6.4.7 ## 6.4.7
### Fixed ### Fixed
- [Issue 11206](https://github.com/firefly-iii/firefly-iii/issues/11206) (New transition shows additional option in input) reported by @zhiiwg - [Issue 11206](https://github.com/firefly-iii/firefly-iii/issues/11206) (New transaction shows additional option in input) reported by @zhiiwg
## 6.4.6 - 2025-11-09 ## 6.4.6 - 2025-11-13
### Fixed ### Fixed

52
composer.lock generated
View File

@@ -1937,16 +1937,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v12.37.0", "version": "v12.38.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "3c3c4ad30f5b528b164a7c09aa4ad03118c4c125" "reference": "7f3012af6059f5f64a12930701cd8caed6cf7c17"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/3c3c4ad30f5b528b164a7c09aa4ad03118c4c125", "url": "https://api.github.com/repos/laravel/framework/zipball/7f3012af6059f5f64a12930701cd8caed6cf7c17",
"reference": "3c3c4ad30f5b528b164a7c09aa4ad03118c4c125", "reference": "7f3012af6059f5f64a12930701cd8caed6cf7c17",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2064,7 +2064,7 @@
"phpstan/phpstan": "^2.0", "phpstan/phpstan": "^2.0",
"phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1",
"predis/predis": "^2.3|^3.0", "predis/predis": "^2.3|^3.0",
"resend/resend-php": "^0.10.0", "resend/resend-php": "^0.10.0|^1.0",
"symfony/cache": "^7.2.0", "symfony/cache": "^7.2.0",
"symfony/http-client": "^7.2.0", "symfony/http-client": "^7.2.0",
"symfony/psr-http-message-bridge": "^7.2.0", "symfony/psr-http-message-bridge": "^7.2.0",
@@ -2098,7 +2098,7 @@
"predis/predis": "Required to use the predis connector (^2.3|^3.0).", "predis/predis": "Required to use the predis connector (^2.3|^3.0).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
"resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.0).",
"symfony/cache": "Required to PSR-6 cache bridge (^7.2).", "symfony/cache": "Required to PSR-6 cache bridge (^7.2).",
"symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).",
"symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).",
@@ -2152,7 +2152,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2025-11-04T15:39:33+00:00" "time": "2025-11-13T02:12:47+00:00"
}, },
{ {
"name": "laravel/passport", "name": "laravel/passport",
@@ -7697,16 +7697,16 @@
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v7.3.6", "version": "v7.3.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "6379e490d6ecfc5c4224ff3a754b90495ecd135c" "reference": "db488a62f98f7a81d5746f05eea63a74e55bb7c4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/6379e490d6ecfc5c4224ff3a754b90495ecd135c", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/db488a62f98f7a81d5746f05eea63a74e55bb7c4",
"reference": "6379e490d6ecfc5c4224ff3a754b90495ecd135c", "reference": "db488a62f98f7a81d5746f05eea63a74e55bb7c4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -7756,7 +7756,7 @@
"description": "Defines an object-oriented layer for the HTTP specification", "description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-foundation/tree/v7.3.6" "source": "https://github.com/symfony/http-foundation/tree/v7.3.7"
}, },
"funding": [ "funding": [
{ {
@@ -7776,20 +7776,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-11-06T11:05:57+00:00" "time": "2025-11-08T16:41:12+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v7.3.6", "version": "v7.3.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "f9a34dc0196677250e3609c2fac9de9e1551a262" "reference": "10b8e9b748ea95fa4539c208e2487c435d3c87ce"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9a34dc0196677250e3609c2fac9de9e1551a262", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/10b8e9b748ea95fa4539c208e2487c435d3c87ce",
"reference": "f9a34dc0196677250e3609c2fac9de9e1551a262", "reference": "10b8e9b748ea95fa4539c208e2487c435d3c87ce",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -7874,7 +7874,7 @@
"description": "Provides a structured process for converting a Request into a Response", "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-kernel/tree/v7.3.6" "source": "https://github.com/symfony/http-kernel/tree/v7.3.7"
}, },
"funding": [ "funding": [
{ {
@@ -7894,7 +7894,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-11-06T20:58:12+00:00" "time": "2025-11-12T11:38:40+00:00"
}, },
{ {
"name": "symfony/mailer", "name": "symfony/mailer",
@@ -12116,21 +12116,21 @@
}, },
{ {
"name": "rector/rector", "name": "rector/rector",
"version": "2.2.7", "version": "2.2.8",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/rectorphp/rector.git", "url": "https://github.com/rectorphp/rector.git",
"reference": "022038537838bc8a4e526af86c2d6e38eaeff7ef" "reference": "303aa811649ccd1d32e51e62d5c85949d01b5f1b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/rectorphp/rector/zipball/022038537838bc8a4e526af86c2d6e38eaeff7ef", "url": "https://api.github.com/repos/rectorphp/rector/zipball/303aa811649ccd1d32e51e62d5c85949d01b5f1b",
"reference": "022038537838bc8a4e526af86c2d6e38eaeff7ef", "reference": "303aa811649ccd1d32e51e62d5c85949d01b5f1b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.4|^8.0", "php": "^7.4|^8.0",
"phpstan/phpstan": "^2.1.26" "phpstan/phpstan": "^2.1.32"
}, },
"conflict": { "conflict": {
"rector/rector-doctrine": "*", "rector/rector-doctrine": "*",
@@ -12164,7 +12164,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/rectorphp/rector/issues", "issues": "https://github.com/rectorphp/rector/issues",
"source": "https://github.com/rectorphp/rector/tree/2.2.7" "source": "https://github.com/rectorphp/rector/tree/2.2.8"
}, },
"funding": [ "funding": [
{ {
@@ -12172,7 +12172,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-10-29T15:46:12+00:00" "time": "2025-11-12T18:38:00+00:00"
}, },
{ {
"name": "sebastian/cli-parser", "name": "sebastian/cli-parser",

View File

@@ -78,8 +78,8 @@ return [
'running_balance_column' => env('USE_RUNNING_BALANCE', false), 'running_balance_column' => env('USE_RUNNING_BALANCE', false),
// see cer.php for exchange rates feature flag. // see cer.php for exchange rates feature flag.
], ],
'version' => '6.4.7', 'version' => 'develop/2025-11-13',
'build_time' => 1762922901, 'build_time' => 1763009625,
'api_version' => '2.1.0', // field is no longer used. 'api_version' => '2.1.0', // field is no longer used.
'db_version' => 28, // field is no longer used. 'db_version' => 28, // field is no longer used.

6
package-lock.json generated
View File

@@ -4075,9 +4075,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/baseline-browser-mapping": { "node_modules/baseline-browser-mapping": {
"version": "2.8.26", "version": "2.8.27",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.26.tgz", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.27.tgz",
"integrity": "sha512-73lC1ugzwoaWCLJ1LvOgrR5xsMLTqSKIEoMHVtL9E/HNk0PXtTM76ZIm84856/SF7Nv8mPZxKoBsgpm0tR1u1Q==", "integrity": "sha512-2CXFpkjVnY2FT+B6GrSYxzYf65BJWEqz5tIRHCvNsZZ2F3CmsCB37h8SpYgKG7y9C4YAeTipIPWG7EmFmhAeXA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {

View File

@@ -24,7 +24,7 @@
declare(strict_types=1); declare(strict_types=1);
return [ return [
'invalid_account_list' => 'Invalid account type list', 'invalid_account_list' => 'Invalid account type list entry ":value"',
'invalid_transaction_type_list' => 'Invalid transaction type list', 'invalid_transaction_type_list' => 'Invalid transaction type list',
'limit_exists' => 'There is already a budget limit (amount) for this budget and currency in the given period.', 'limit_exists' => 'There is already a budget limit (amount) for this budget and currency in the given period.',
'invalid_sort_instruction' => 'The sort instruction is invalid for an object of type ":object".', 'invalid_sort_instruction' => 'The sort instruction is invalid for an object of type ":object".',

View File

@@ -62,6 +62,10 @@
<div class="box-body no-padding"> <div class="box-body no-padding">
<table class="table table-hover"> <table class="table table-hover">
<tbody> <tbody>
<tr>
<td style="width:40%;">{{ trans('list.id') }}</td>
<td>#{{ transactionGroup.id }}</td>
</tr>
<tr> <tr>
<td style="width:40%;">{{ trans('list.type') }}</td> <td style="width:40%;">{{ trans('list.type') }}</td>
<td>{{ first.transaction_type_type|_ }}</td> <td>{{ first.transaction_type_type|_ }}</td>