MDL-12912 module idnumber course unique only
This commit is contained in:
@@ -111,7 +111,7 @@ class moodleform_mod extends moodleform {
|
||||
|
||||
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');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ if ($data = $mform->get_data(false)) {
|
||||
$cm = null;
|
||||
}
|
||||
|
||||
if (!grade_verify_idnumber($value, $gi, $cm)) {
|
||||
if (!grade_verify_idnumber($value, $COURSE->id, $gi, $cm)) {
|
||||
$errors[$giid] = get_string('idnumbertaken');
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -319,6 +319,8 @@ class edit_item_form extends moodleform {
|
||||
|
||||
/// perform extra validation before submission
|
||||
function validation($data, $files) {
|
||||
global $COURSE;
|
||||
|
||||
$errors = parent::validation($data, $files);
|
||||
|
||||
if (array_key_exists('idnumber', $data)) {
|
||||
@@ -333,7 +335,7 @@ class edit_item_form extends moodleform {
|
||||
$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');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,6 +217,8 @@ class edit_outcomeitem_form extends moodleform {
|
||||
|
||||
/// perform extra validation before submission
|
||||
function validation($data, $files) {
|
||||
global $COURSE;
|
||||
|
||||
$errors = parent::validation($data, $files);
|
||||
|
||||
if (array_key_exists('idnumber', $data)) {
|
||||
@@ -225,7 +227,7 @@ class edit_outcomeitem_form extends moodleform {
|
||||
} 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');
|
||||
}
|
||||
}
|
||||
|
||||
+4
-3
@@ -657,11 +657,12 @@ function grade_get_letters($context=null) {
|
||||
/**
|
||||
* 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;
|
||||
@@ -674,11 +675,11 @@ function grade_verify_idnumber($idnumber, $grade_item=null, $cm=null) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user