MDL-43021 course: corrections to the shortname and idnumber uniqueness validation

This commit is contained in:
Marina Glancy 2014-04-03 11:07:01 +08:00
parent ad32dda90c
commit e13016850c

View file

@ -2597,14 +2597,14 @@ function update_course($data, $editoroptions = NULL) {
// Check we don't have a duplicate shortname. // Check we don't have a duplicate shortname.
if (!empty($data->shortname) && $oldcourse->shortname != $data->shortname) { if (!empty($data->shortname) && $oldcourse->shortname != $data->shortname) {
if ($DB->record_exists('course', array('shortname' => $data->shortname))) { if ($DB->record_exists_sql('SELECT id from {course} WHERE shortname = ? AND id <> ?', array($data->shortname, $data->id))) {
throw new moodle_exception('shortnametaken', '', '', $data->shortname); throw new moodle_exception('shortnametaken', '', '', $data->shortname);
} }
} }
// Check we don't have a duplicate idnumber. // Check we don't have a duplicate idnumber.
if (!empty($data->idnumber) && $oldcourse->idnumber != $data->idnumber) { if (!empty($data->idnumber) && $oldcourse->idnumber != $data->idnumber) {
if ($DB->record_exists('course', array('idnumber' => $data->idnumber))) { if ($DB->record_exists_sql('SELECT id from {course} WHERE idnumber = ? AND id <> ?', array($data->idnumber, $data->id))) {
throw new moodle_exception('courseidnumbertaken', '', '', $data->idnumber); throw new moodle_exception('courseidnumbertaken', '', '', $data->idnumber);
} }
} }