Skip to content
Snippets Groups Projects
Commit ed482eae authored by Quentin Ribac's avatar Quentin Ribac
Browse files

FEAT #15527 TIME 0:25 api fixes: indexingModelField.editable defaults to true;...

FEAT #15527 TIME 0:25 api fixes: indexingModelField.editable defaults to true; select custom fields are single-valued
parent fd9f378c
No related branches found
No related tags found
No related merge requests found
......@@ -390,7 +390,7 @@ class IndexingModelController
'enabled' => $field['enabled'] === false ? 'false' : 'true',
'default_value' => !isset($field['default_value']) ? null : json_encode($field['default_value']),
'unit' => $field['unit'],
'editable' => $field['editable'] === true ? 'true' : 'false',
'editable' => $field['editable'] === false ? 'false' : 'true',
'allowed_values' => !isset($field['allowedValues']) ? null : json_encode($field['allowedValues']),
]);
}
......@@ -459,7 +459,7 @@ class IndexingModelController
'enabled' => $field['enabled'] === false ? 'false' : 'true',
'default_value' => !isset($field['default_value']) ? null : json_encode($field['default_value']),
'unit' => $field['unit'],
'editable' => $field['editable'] === true ? 'true' : 'false',
'editable' => $field['editable'] === false ? 'false' : 'true',
'allowed_values' => !isset($field['allowedValues']) ? null : json_encode($field['allowedValues']),
]);
}
......
......@@ -422,12 +422,8 @@ class ResourceControlController
return ['errors' => "Body customFields[{$customFieldId}] is not a date"];
} elseif (!$indexingModelField['editable'] && $body['customFields'][$customFieldId] != $indexingModelField['default_value']) {
return ['errors' => "Body {$indexingModelField['identifier']} is not editable and differs from default value ({$indexingModelField['default_value']})"];
} elseif (!empty($indexingModelField['allowed_values'])) {
if ($customField['type'] != 'select' && !in_array($body['customFields'][$customFieldId], $indexingModelField['allowed_values'])) {
return ['errors' => "Body {$indexingModelField['identifier']} is not one of the allowed values"];
} elseif ($customField['type'] == 'select' && !empty($array_diff($body['customFields'][$customFieldId], $indexingModelField['default_value']))) {
return ['errors' => "Body {$indexingModelField['identifier']} does not only contain the allowed values"];
}
} elseif (!empty($indexingModelField['allowed_values']) && !in_array($body['customFields'][$customFieldId], $indexingModelField['allowed_values'])) {
return ['errors' => "Body {$indexingModelField['identifier']} is not one of the allowed values"];
}
}
} elseif ($indexingModelField['identifier'] == 'destination' && !empty($args['isUpdating'])) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment