if ($mform->elementExists('cmidnumber')) {
// verify the idnumber
- if (!grade_verify_idnumber($data['cmidnumber'], $grade_item, $cm)) {
+ if (!grade_verify_idnumber($data['cmidnumber'], $COURSE->id, $grade_item, $cm)) {
$errors['cmidnumber'] = get_string('idnumbertaken');
}
}
$cm = null;
}
- if (!grade_verify_idnumber($value, $gi, $cm)) {
+ if (!grade_verify_idnumber($value, $COURSE->id, $gi, $cm)) {
$errors[$giid] = get_string('idnumbertaken');
continue;
}
/// perform extra validation before submission
function validation($data, $files) {
+ global $COURSE;
+
$errors = parent::validation($data, $files);
if (array_key_exists('idnumber', $data)) {
$grade_item = null;
$cm = null;
}
- if (!grade_verify_idnumber($data['idnumber'], $grade_item, $cm)) {
+ if (!grade_verify_idnumber($data['idnumber'], $COURSE->id, $grade_item, $cm)) {
$errors['idnumber'] = get_string('idnumbertaken');
}
}
/// perform extra validation before submission
function validation($data, $files) {
+ global $COURSE;
+
$errors = parent::validation($data, $files);
if (array_key_exists('idnumber', $data)) {
} else {
$grade_item = null;
}
- if (!grade_verify_idnumber($data['idnumber'], $grade_item, null)) {
+ if (!grade_verify_idnumber($data['idnumber'], $COURSE->id, $grade_item, null)) {
$errors['idnumber'] = get_string('idnumbertaken');
}
}
/**
* Verify new value of idnumber - checks for uniqueness of new idnumbers, old are kept intact
* @param string idnumber string (with magic quotes)
+ * @param int $courseid - id numbers are course unique only
* @param object $cm used for course module idnumbers and items attached to modules
* @param object $gradeitem is item idnumber
* @return boolean true means idnumber ok
*/
-function grade_verify_idnumber($idnumber, $grade_item=null, $cm=null) {
+function grade_verify_idnumber($idnumber, $courseid, $grade_item=null, $cm=null) {
if ($idnumber == '') {
//we allow empty idnumbers
return true;
return true;
}
- if (get_records('course_modules', 'idnumber', $idnumber)) {
+ if (get_records_select('course_modules', "course = $courseid AND idnumber='$idnumber'")) {
return false;
}
- if (get_records('grade_items', 'idnumber', $idnumber)) {
+ if (get_records_select('grade_items', "courseid = $courseid AND idnumber='$idnumber'")) {
return false;
}