Expand settings, make accounts not mandatory.

This commit is contained in:
James Cole
2025-12-30 20:51:56 +01:00
parent 61444e9660
commit 523ec7c0a1
2 changed files with 7 additions and 6 deletions

View File

@@ -80,7 +80,7 @@ class UpdateRequest extends FormRequest
'target_date' => 'date|nullable|after:start_date',
'notes' => 'max:65000',
'accounts' => 'required',
'accounts.*' => 'array|required',
'accounts.*' => 'array',
'accounts.*.account_id' => ['required', 'numeric', 'belongsToUser:accounts,id'],
'accounts.*.current_amount' => ['numeric', 'nullable', new IsValidZeroOrMoreAmount(true)],
'object_group_id' => 'numeric|belongsToUser:object_groups,id',

View File

@@ -37,17 +37,18 @@ class UpdateRequest extends FormRequest
use ChecksLogin;
use ConvertsDataTypes;
private array $booleans = ['configuration.is_demo_site', 'configuration.single_user_mode', 'configuration.enable_exchange_rates', 'configuration.use_running_balance', 'configuration.enable_external_map', 'configuration.enable_external_rates', 'configuration.allow_webhooks',];
private array $integers = ['configuration.permission_update_check', 'configuration.last_update_check'];
/**
* Get all data from the request.
*/
public function getAll(): array
{
$name = $this->route()->parameter('dynamicConfigKey');
if ('configuration.is_demo_site' === $name || 'configuration.single_user_mode' === $name) {
if (in_array($name, $this->booleans, true)) {
return ['value' => $this->boolean('value')];
}
if ('configuration.permission_update_check' === $name || 'configuration.last_update_check' === $name) {
if (in_array($name, $this->integers, true)) {
return ['value' => $this->convertInteger('value')];
}
@@ -61,13 +62,13 @@ class UpdateRequest extends FormRequest
{
$name = $this->route()->parameter('configName');
if ('configuration.is_demo_site' === $name || 'configuration.single_user_mode' === $name) {
if (in_array($name, $this->booleans, true)) {
return ['value' => ['required', new IsBoolean()]];
}
if ('configuration.permission_update_check' === $name) {
return ['value' => 'required|numeric|min:-1|max:1'];
}
if ('configuration.last_update_check' === $name) {
if (in_array($name, $this->integers, true)) {
return ['value' => 'required|numeric|min:464272080'];
}