]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-9506 Removed implicit loading of associated objects from constructors (grade_item...
authornicolasconnault <nicolasconnault>
Mon, 7 May 2007 02:04:06 +0000 (02:04 +0000)
committernicolasconnault <nicolasconnault>
Mon, 7 May 2007 02:04:06 +0000 (02:04 +0000)
lib/grade/grade_grades_raw.php
lib/grade/grade_item.php
lib/simpletest/grade/simpletest/testgradeitem.php

index 70fc5b04f14d4715882bce55cdf673a61eb28127..dd62c4f5b39bd666ad44c82a9db6db6dd2581394 100644 (file)
@@ -108,8 +108,6 @@ class grade_grades_raw extends grade_object {
      */
     function grade_grades_raw($params=NULL, $fetch=true) {
         $this->grade_object($params, $fetch);
-        $this->load_text();
-        $this->load_scale();
     }
     
     /**
@@ -155,8 +153,6 @@ class grade_grades_raw extends grade_object {
                     $this->$param = $value;
                 }
 
-                $this->load_scale();
-                $this->load_text();
                 return $this;
             } else {
                 $object = new grade_grades_raw($object);
index 959906683f4d5f02d22c6fde2de8382d37602676..6fcac6265a9adc7c4bddb4c46041d5bc0bfb3890 100644 (file)
@@ -199,8 +199,6 @@ class grade_item extends grade_object {
      */
     function grade_item($params=NULL, $fetch=true) {
         $this->grade_object($params, $fetch);
-        $this->load_scale();
-        $this->load_outcome();
     }
    
     /**
@@ -262,8 +260,6 @@ class grade_item extends grade_object {
                     $this->$param = $value;
                 }
 
-                $this->load_scale();
-                $this->load_outcome();
                 return $this;
             } else {
                 $grade_item = new grade_item($grade_item);
@@ -579,6 +575,15 @@ class grade_item extends grade_object {
                 $gradevalue = $grade_raw->gradescale;
             }
             
+            // In case the scale objects haven't been loaded, do it now
+            if (empty($grade_raw->scale)) {
+                $grade_raw->load_scale();
+            }
+            
+            if (empty($this->scale)) {
+                $this->load_scale();
+            }
+
             $grade_raw->grademax = count($grade_raw->scale->scale_items) - 1;
             $this->grademax = count($this->scale->scale_items) - 1;
             $grade_raw->grademin = 0;
index 9772dad0d69f7e64899c8719943ae3a4824a61c7..faa81e0bf8fbd1c95e9d1f566dd905c4d2199a6e 100755 (executable)
@@ -304,10 +304,12 @@ class grade_item_test extends gradelib_test {
         // Load raw grade and its scale
         $grade_raw = new grade_grades_raw(array('scaleid' => $this->scale[0]->id));
         $grade_raw->gradescale = 4;
+        $grade_raw->load_scale();
         $this->assertEqual('Fairly neutral', $grade_raw->scale->scale_items[2]);
         
         // Load grade item and its scale
         $grade_item = new grade_item(array('scaleid' => $this->scale[1]->id));
+        $grade_item->load_scale();
         $this->assertEqual('Very Good', $grade_item->scale->scale_items[1]);
 
         // Test grade_item::adjust_scale