MDL-79365 customfield_textarea: ensure field uniqueness is correct.

This commit is contained in:
Paul Holden
2023-10-13 14:30:08 +01:00
parent d188d58ce9
commit d160890cab
2 changed files with 29 additions and 3 deletions
+6
View File
@@ -238,7 +238,13 @@ abstract class data_controller {
*/
protected function is_unique($value) : bool {
global $DB;
// Ensure the "value" datafield can be safely compared across all databases.
$datafield = $this->datafield();
if ($datafield === 'value') {
$datafield = $DB->sql_cast_to_char($datafield);
}
$where = "fieldid = ? AND {$datafield} = ?";
$params = [$this->get_field()->get('id'), $value];
if ($this->get('id')) {