fix: [settings] Fixed missing error when evaluating parent settings

pull/70/head
mokaddem 2021-07-30 08:16:04 +02:00
parent b75cdac42b
commit a82c8fe62b
1 changed files with 6 additions and 1 deletions

View File

@ -50,7 +50,12 @@ class SettingsTable extends AppTable
$errors = [];
$setting = $this->getSetting($name);
$value = $this->normaliseValue($value, $setting);
if (!empty($setting['beforeSave'])) {
if ($setting['type'] == 'select') {
if (!in_array($value, array_keys($setting['options']))) {
$errors[] = __('Invalid option provided');
}
}
if (empty($errors) && !empty($setting['beforeSave'])) {
$setting['value'] = $value ?? '';
$beforeSaveResult = $this->SettingsProvider->evaluateFunctionForSetting($setting['beforeSave'], $setting);
if ($beforeSaveResult !== true) {