]> git.mjollnir.org Git - moodle.git/commitdiff
minor scale related changes, added fixed update() into grade_outcome class
authorskodak <skodak>
Tue, 31 Jul 2007 12:52:17 +0000 (12:52 +0000)
committerskodak <skodak>
Tue, 31 Jul 2007 12:52:17 +0000 (12:52 +0000)
grade/edit/scale/edit_form.php
grade/edit/scale/index.php
lib/grade/grade_outcome.php
lib/grade/grade_scale.php

index 20eed49bf274c455db0096390f9b1d66ca282dde..771efe1edacb207648437b3684f5e28b13c0f2eb 100644 (file)
@@ -52,7 +52,7 @@ class edit_scale_form extends moodleform {
 
         if ($id = $mform->getElementValue('id')) {
             $scale = grade_scale::fetch(array('id'=>$id));
-            $count = $scale->get_uses_count();
+            $count = $scale->get_item_uses_count();
 
             if ($count) {
                 $mform->hardFreeze('scale');
index 32d652cf114ab293c167b5f6175e52ded850dc22..aad193d7565a502e8263799940481a6803542628 100644 (file)
@@ -39,7 +39,7 @@ $strname           = get_string('name');
 $strdelete         = get_string('delete');
 $stredit           = get_string('edit');
 $srtcreatenewscale = get_string('scalescustomcreate');
-$stractivities     = get_string('activities');
+$stritems          = get_string('items', 'grades');
 $stredit           = get_string('edit');
 
 switch ($action) {
@@ -84,7 +84,7 @@ if ($courseid and $scales = grade_scale::fetch_all_local($courseid)) {
         $line = array();
         $line[] = format_string($scale->name).'<div class="scale_options">'.str_replace(",",", ",$scale->scale).'</div>';
 
-        $scales_uses = $scale->get_uses_count();
+        $scales_uses = $scale->get_item_uses_count();
         $line[] = $scales_uses;
 
         $buttons = "";
@@ -97,7 +97,7 @@ if ($courseid and $scales = grade_scale::fetch_all_local($courseid)) {
         $line[] = $buttons;
         $data[] = $line;
     }
-    $table->head  = array($strscale, $stractivities, $stredit);
+    $table->head  = array($strscale, $stritems, $stredit);
     $table->size  = array('70%', '20%', '10%');
     $table->align = array('left', 'center', 'center');
     $table->width = '90%';
@@ -112,7 +112,7 @@ if ($scales = grade_scale::fetch_all_global()) {
         $line = array();
         $line[] = format_string($scale->name).'<div class="scale_options">'.str_replace(",",", ",$scale->scale).'</div>';
 
-        $scales_uses = $scale->get_uses_count();
+        $scales_uses = $scale->get_item_uses_count();
         $line[] = $scales_uses;
 
         $buttons = "";
@@ -127,7 +127,7 @@ if ($scales = grade_scale::fetch_all_global()) {
         $line[] = $buttons;
         $data[] = $line;
     }
-    $table->head  = array($strscale, $stractivities, $stredit);
+    $table->head  = array($strscale, $stritems, $stredit);
     $table->size  = array('70%', '20%', '10%');
     $table->align = array('left', 'center', 'center');
     $table->width = '90%';
index 3087266a18254520662d61eff274963e9d55a956..af00c562decf11a3ffd0ca45b93c53040da8a5f5 100644 (file)
@@ -107,6 +107,25 @@ class grade_outcome extends grade_object {
         return $result;
     }
 
+    /**
+     * In addition to update() it also updates grade_outcomes_courses if needed 
+     * @param string $source from where was the object inserted
+     * @return boolean success
+     */
+    function update($source=null) {
+        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);
+                }
+            }
+        }
+        return $result;
+    }
+
     /**
      * Finds and returns a grade_outcome instance based on params.
      * @static
index bafec25615eda2fe3acf1ac822b66394555d9285..af1df4d0c243b9f2da49aecd8b9878f8c74ae5b3 100644 (file)
@@ -200,7 +200,7 @@ class grade_scale extends grade_object {
      * @return boolean
      */
     function can_delete() {
-        $count = $this->get_uses_count();
+        $count = $this->get_item_uses_count();
         return empty($count);
     }
 
@@ -208,9 +208,10 @@ class grade_scale extends grade_object {
      * Returns the number of places where scale is used - activities, grade items, outcomes, etc.
      * @return int
      */
-    function get_uses_count() {
+    function get_item_uses_count() {
         global $CFG;
 
+//TODO: fix me - this methods does some duplicate counting in grade items and activities
         $count = 0;
         if (!empty($this->courseid)) {
             if ($scales_uses = course_scale_used($this->courseid,$this->id)) {