MDL-47417 core_grades: reset grademax when switching from Natural
authorMarina Glancy <marina@moodle.com>
Thu, 25 Sep 2014 07:02:15 +0000 (15:02 +0800)
committerAdrian Greeve <adrian@moodle.com>
Fri, 3 Oct 2014 05:55:23 +0000 (13:55 +0800)
in Natural aggregation method the grademax is automatically adjusted
when switching to another aggregation method it should be reset
to 100

grade/edit/tree/category.php

index 74b8816..206b12d 100644 (file)
@@ -87,6 +87,16 @@ if ($id) {
         $category->grade_item_aggregationcoef = format_float($category->grade_item_aggregationcoef, 4);
     }
 
+    if ($category->aggregation == GRADE_AGGREGATE_SUM) {
+        // Input fields for grademin and grademax are disabled for the "Natural" category,
+        // this means they will be ignored if user does not change aggregation method.
+        // But if user does change aggregation method the default values should be used.
+        $category->grademax = 100;
+        $category->grade_item_grademax = 100;
+        $category->grademin = 0;
+        $category->grade_item_grademin = 0;
+    }
+
 } else {
     $heading = get_string('newcategory', 'grades');
     $grade_category = new grade_category(array('courseid'=>$courseid), false);