mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-10 05:11:25 +00:00
Fix #11228
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
|
||||
@@ -55,7 +56,7 @@ class ObjectTypeApiRequest extends ApiRequest
|
||||
|
||||
public function rules(): array
|
||||
{
|
||||
$rule = null;
|
||||
$rule = null;
|
||||
if (Account::class === $this->objectType) {
|
||||
$rule = new IsValidAccountTypeList();
|
||||
}
|
||||
@@ -86,9 +87,13 @@ class ObjectTypeApiRequest extends ApiRequest
|
||||
default:
|
||||
$this->attributes->set('types', []);
|
||||
|
||||
// no break
|
||||
// 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'];
|
||||
}
|
||||
|
||||
@@ -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