]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-12912 module idnumber course unique only; merged from MOODLE_19_STABLE
authorskodak <skodak>
Mon, 14 Jan 2008 22:46:03 +0000 (22:46 +0000)
committerskodak <skodak>
Mon, 14 Jan 2008 22:46:03 +0000 (22:46 +0000)
course/moodleform_mod.php
grade/edit/tree/calculation.php
grade/edit/tree/item_form.php
grade/edit/tree/outcomeitem_form.php
lib/gradelib.php

index e2739c6b88262fa761639193698d2dd260910c83..9f5b2f34e8a2aa26f24d96a92902b0edaa90b88f 100644 (file)
@@ -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');
             }
         }
index 8441c978c1a0e93c78f083fdf83926e210a444ce..7d1e1fc11d0c89f518d0fab2d06354cea0d47109 100644 (file)
@@ -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;
             }
index e6a2b010440442504d8d64ba72dd585709b78689..cdf70f331adc60b63fc22de93a8407386928b619 100644 (file)
@@ -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');
             }
         }
index 8104e0b8482e2161fa7f89f917dd2359684d23dd..25d4b7f9cb0a3b44808890d74c191fe4933b6684 100644 (file)
@@ -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');
             }
         }
index d6b550f62f965d82a4ee59f1d1883d08326bc112..fff2a2d6cc679d2dee165a34d6d425cafd31f063 100644 (file)
@@ -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;
     }