]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-13849 add API method to use outcome in course into grade_outcome class; merged...
authorskodak <skodak>
Sat, 8 Mar 2008 15:29:42 +0000 (15:29 +0000)
committerskodak <skodak>
Sat, 8 Mar 2008 15:29:42 +0000 (15:29 +0000)
lib/grade/grade_outcome.php

index ac87126f4ab519df52d9d6b08b0f2403d6b48f2a..d08d3c7005d6fe405a4590fcc7d80ba44b3bd04f 100644 (file)
@@ -129,17 +129,31 @@ class grade_outcome extends grade_object {
 
         if ($result = parent::update($source)) {
             if (!empty($this->courseid)) {
-                if (!get_records('grade_outcomes_courses', 'courseid', $this->courseid, 'outcomeid', $this->id)) {
-                    $goc = new object();
-                    $goc->courseid = $this->courseid;
-                    $goc->outcomeid = $this->id;
-                    insert_record('grade_outcomes_courses', $goc);
-                }
+                $this->use_in($this->courseid);
             }
         }
         return $result;
     }
 
+    /**
+     * Mark outcome as used in course
+     * @param int $courseid
+     * @return succes - false if incorrect courseid requested
+     */
+    function use_in($courseid) {
+        if (!empty($this->courseid) and $courseid != $this->courseid) {
+            return false;
+        }
+
+        if (!record_exists('grade_outcomes_courses', 'courseid', $courseid, 'outcomeid', $this->id)) {
+            $goc = new object();
+            $goc->courseid  = $courseid;
+            $goc->outcomeid = $this->id;
+            return (bool)insert_record('grade_outcomes_courses', $goc);
+        }
+        return true;
+    }
+
     /**
      * Finds and returns a grade_outcome instance based on params.
      * @static