mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-14 13:48:26 +00:00
Merge pull request #11233 from firefly-iii/develop
🤖 Automatically merge the PR into the main branch.
This commit is contained in:
@@ -23,15 +23,16 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Api\V1\Requests\Generic;
|
||||
|
||||
use Override;
|
||||
use Illuminate\Contracts\Validation\Validator;
|
||||
use FireflyIII\Api\V1\Requests\ApiRequest;
|
||||
use FireflyIII\Enums\AccountTypeEnum;
|
||||
use FireflyIII\Models\Account;
|
||||
use FireflyIII\Models\Transaction;
|
||||
use FireflyIII\Rules\Account\IsValidAccountTypeList;
|
||||
use FireflyIII\Rules\TransactionType\IsValidTransactionTypeList;
|
||||
use FireflyIII\Support\Http\Api\AccountFilter;
|
||||
use FireflyIII\Support\Http\Api\TransactionFilter;
|
||||
use Illuminate\Contracts\Validation\Validator;
|
||||
use Override;
|
||||
use RuntimeException;
|
||||
|
||||
class ObjectTypeApiRequest extends ApiRequest
|
||||
@@ -88,7 +89,11 @@ class ObjectTypeApiRequest extends ApiRequest
|
||||
|
||||
// no break
|
||||
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;
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ class IsValidAccountTypeList implements ValidationRule
|
||||
$keys = array_keys($this->types);
|
||||
foreach ($values as $entry) {
|
||||
if (!in_array($entry, $keys, true)) {
|
||||
$fail('validation.invalid_account_list')->translate();
|
||||
$fail('validation.invalid_account_list')->translate(['value' => $entry]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ trait AccountFilter
|
||||
AccountTypeEnum::MORTGAGE->value => [AccountTypeEnum::MORTGAGE->value],
|
||||
AccountTypeEnum::DEBT->value => [AccountTypeEnum::DEBT->value],
|
||||
AccountTypeEnum::CREDITCARD->value => [AccountTypeEnum::CREDITCARD->value],
|
||||
AccountTypeEnum::LIABILITY_CREDIT->value => [AccountTypeEnum::LIABILITY_CREDIT->value],
|
||||
'default account' => [AccountTypeEnum::DEFAULT->value],
|
||||
'cash account' => [AccountTypeEnum::CASH->value],
|
||||
'asset account' => [AccountTypeEnum::ASSET->value],
|
||||
@@ -104,6 +105,7 @@ trait AccountFilter
|
||||
$return = array_merge($return, $this->types[$part]);
|
||||
}
|
||||
}
|
||||
|
||||
if (0 === count($return)) {
|
||||
$return = $this->types['normal'];
|
||||
}
|
||||
|
||||
10
changelog.md
10
changelog.md
@@ -3,13 +3,19 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 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
|
||||
|
||||
### 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
|
||||
|
||||
|
||||
40
composer.lock
generated
40
composer.lock
generated
@@ -1937,16 +1937,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v12.37.0",
|
||||
"version": "v12.38.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "3c3c4ad30f5b528b164a7c09aa4ad03118c4c125"
|
||||
"reference": "7f3012af6059f5f64a12930701cd8caed6cf7c17"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/3c3c4ad30f5b528b164a7c09aa4ad03118c4c125",
|
||||
"reference": "3c3c4ad30f5b528b164a7c09aa4ad03118c4c125",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/7f3012af6059f5f64a12930701cd8caed6cf7c17",
|
||||
"reference": "7f3012af6059f5f64a12930701cd8caed6cf7c17",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2064,7 +2064,7 @@
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1",
|
||||
"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/http-client": "^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).",
|
||||
"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).",
|
||||
"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/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).",
|
||||
@@ -2152,7 +2152,7 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"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",
|
||||
@@ -7780,16 +7780,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v7.3.6",
|
||||
"version": "v7.3.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "f9a34dc0196677250e3609c2fac9de9e1551a262"
|
||||
"reference": "10b8e9b748ea95fa4539c208e2487c435d3c87ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9a34dc0196677250e3609c2fac9de9e1551a262",
|
||||
"reference": "f9a34dc0196677250e3609c2fac9de9e1551a262",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/10b8e9b748ea95fa4539c208e2487c435d3c87ce",
|
||||
"reference": "10b8e9b748ea95fa4539c208e2487c435d3c87ce",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7874,7 +7874,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/v7.3.6"
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v7.3.7"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -7894,7 +7894,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-11-06T20:58:12+00:00"
|
||||
"time": "2025-11-12T11:38:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mailer",
|
||||
@@ -12116,21 +12116,21 @@
|
||||
},
|
||||
{
|
||||
"name": "rector/rector",
|
||||
"version": "2.2.7",
|
||||
"version": "2.2.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/rectorphp/rector.git",
|
||||
"reference": "022038537838bc8a4e526af86c2d6e38eaeff7ef"
|
||||
"reference": "303aa811649ccd1d32e51e62d5c85949d01b5f1b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/rectorphp/rector/zipball/022038537838bc8a4e526af86c2d6e38eaeff7ef",
|
||||
"reference": "022038537838bc8a4e526af86c2d6e38eaeff7ef",
|
||||
"url": "https://api.github.com/repos/rectorphp/rector/zipball/303aa811649ccd1d32e51e62d5c85949d01b5f1b",
|
||||
"reference": "303aa811649ccd1d32e51e62d5c85949d01b5f1b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4|^8.0",
|
||||
"phpstan/phpstan": "^2.1.26"
|
||||
"phpstan/phpstan": "^2.1.32"
|
||||
},
|
||||
"conflict": {
|
||||
"rector/rector-doctrine": "*",
|
||||
@@ -12164,7 +12164,7 @@
|
||||
],
|
||||
"support": {
|
||||
"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": [
|
||||
{
|
||||
@@ -12172,7 +12172,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-10-29T15:46:12+00:00"
|
||||
"time": "2025-11-12T18:38:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
|
||||
@@ -78,8 +78,8 @@ return [
|
||||
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => '6.4.7',
|
||||
'build_time' => 1762922901,
|
||||
'version' => '6.4.8',
|
||||
'build_time' => 1763008810,
|
||||
'api_version' => '2.1.0', // field is no longer used.
|
||||
'db_version' => 28, // field is no longer used.
|
||||
|
||||
|
||||
6
package-lock.json
generated
6
package-lock.json
generated
@@ -4075,9 +4075,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.8.26",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.26.tgz",
|
||||
"integrity": "sha512-73lC1ugzwoaWCLJ1LvOgrR5xsMLTqSKIEoMHVtL9E/HNk0PXtTM76ZIm84856/SF7Nv8mPZxKoBsgpm0tR1u1Q==",
|
||||
"version": "2.8.27",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.27.tgz",
|
||||
"integrity": "sha512-2CXFpkjVnY2FT+B6GrSYxzYf65BJWEqz5tIRHCvNsZZ2F3CmsCB37h8SpYgKG7y9C4YAeTipIPWG7EmFmhAeXA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
declare(strict_types=1);
|
||||
|
||||
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',
|
||||
'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".',
|
||||
|
||||
Reference in New Issue
Block a user