1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-25 07:47:55 +01:00

feat: migliorie input impostazioni per utente

This commit is contained in:
MatteoPistorello 2024-11-28 15:02:53 +01:00
parent 3daafafece
commit df58b8832f

View File

@ -158,9 +158,9 @@ class Settings
$setting = Setting::where('nome', '=', $setting)->orWhere('id', '=', $setting)->first(); $setting = Setting::where('nome', '=', $setting)->orWhere('id', '=', $setting)->first();
if ($value_user !== null) { if ($value_user !== null) {
$value = $value_user; $input_value = is_array($value_user) ? implode(',', $value_user) : $value_user;
} else { } else {
$value = $setting->valore; $input_value = $setting->valore;
} }
// Lista predefinita // Lista predefinita
@ -176,7 +176,7 @@ class Settings
} }
$result = ' $result = '
{[ "type": "select", "multiple": 0, "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "values": '.json_encode($list).', "value": "'.$value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}'; {[ "type": "select", "multiple": 0, "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "values": '.json_encode($list).', "value": "'.$input_value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}';
} }
// Lista multipla // Lista multipla
@ -209,19 +209,19 @@ class Settings
} }
$result = ' $result = '
{[ "type": "select", "multiple": 1, "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.'][]", "values": '.json_encode($list).', "value": "'.$value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}'; {[ "type": "select", "multiple": 1, "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.'][]", "values": '.json_encode($list).', "value": "'.$input_value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}';
} }
// Lista da query // Lista da query
elseif (preg_match('/^query=(.+?)$/', $setting->tipo, $m)) { elseif (preg_match('/^query=(.+?)$/', $setting->tipo, $m)) {
$result = ' $result = '
{[ "type": "select", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "values": "'.str_replace('"', '\"', $setting->tipo).'", "value": "'.$value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}'; {[ "type": "select", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "values": "'.str_replace('"', '\"', $setting->tipo).'", "value": "'.$input_value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}';
} }
// Boolean (checkbox) // Boolean (checkbox)
elseif ($setting->tipo == 'boolean') { elseif ($setting->tipo == 'boolean') {
$result = ' $result = '
{[ "type": "checkbox", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "placeholder": "'.tr('Attivo').'", "value": "'.$value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}'; {[ "type": "checkbox", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "placeholder": "'.tr('Attivo').'", "value": "'.$input_value.'", "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}';
} }
// Editor // Editor
@ -231,7 +231,7 @@ class Settings
'label' => json_encode($setting->getTranslation('title')), 'label' => json_encode($setting->getTranslation('title')),
'readonly' => !$setting->editable, 'readonly' => !$setting->editable,
'name' => 'setting['.$setting->id.']', 'name' => 'setting['.$setting->id.']',
'value' => $value, 'value' => $input_value,
'required' => intval($required), 'required' => intval($required),
'help' => $setting->getTranslation('help'), 'help' => $setting->getTranslation('help'),
]); ]);
@ -240,7 +240,7 @@ class Settings
// Campi di default // Campi di default
elseif (in_array($setting->tipo, ['textarea', 'timestamp', 'date', 'time'])) { elseif (in_array($setting->tipo, ['textarea', 'timestamp', 'date', 'time'])) {
$result = ' $result = '
{[ "type": "'.$setting->tipo.'", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "value": '.json_encode($value).', "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}'; {[ "type": "'.$setting->tipo.'", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "value": '.json_encode($input_value).', "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}';
} }
// Campo di testo // Campo di testo
@ -251,7 +251,7 @@ class Settings
$tipo = $numerico ? 'number' : 'text'; $tipo = $numerico ? 'number' : 'text';
$result = ' $result = '
{[ "type": "'.$tipo.'", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "value": "'.$value.'"'.($numerico && $setting->tipo == 'integer' ? ', "decimals": 0' : '').', "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}'; {[ "type": "'.$tipo.'", "label": '.json_encode($setting->getTranslation('title')).', "readonly": "'.!$setting->editable.'", "name": "setting['.$setting->id.']", "value": "'.$input_value.'"'.($numerico && $setting->tipo == 'integer' ? ', "decimals": 0' : '').', "required": "'.intval($required).'", "help": "'.$setting->getTranslation('help').'" ]}';
} }
return $result; return $result;