]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-19323 added missing support for localized floats on category edit page + more...
authorskodak <skodak>
Fri, 29 May 2009 17:30:53 +0000 (17:30 +0000)
committerskodak <skodak>
Fri, 29 May 2009 17:30:53 +0000 (17:30 +0000)
grade/edit/tree/category.php
grade/edit/tree/category_form.php

index 52ff9aac13639d02164d1c7a9ad416593de4ce78..c8e7ec6582e2492d0727d5fc9bb8067f1835fa52 100644 (file)
@@ -56,15 +56,28 @@ if ($id) {
     $category->parentcategory = $grade_category->parent;
     $grade_item = $grade_category->load_grade_item();
     // nomalize coef values if needed
-    if ($parent_category = $grade_category->get_parent_category()) {
-        if ($parent_category->aggregation == GRADE_AGGREGATE_SUM or $parent_category->aggregation == GRADE_AGGREGATE_WEIGHTED_MEAN2) {
-            $grade_item->aggregationcoef = $grade_item->aggregationcoef == 0 ? 0 : 1;
-        }
-    }
+    $parent_category = $grade_category->get_parent_category();
+
     foreach ($grade_item->get_record_data() as $key => $value) {
         $category->{"grade_item_$key"} = $value;
     }
 
+    $decimalpoints = $grade_item->get_decimals();
+
+    $category->grade_item_grademax   = format_float($category->grade_item_grademax, $decimalpoints);
+    $category->grade_item_grademin   = format_float($category->grade_item_grademin, $decimalpoints);
+    $category->grade_item_gradepass  = format_float($category->grade_item_gradepass, $decimalpoints);
+    $category->grade_item_multfactor = format_float($category->grade_item_multfactor, 4);
+    $category->grade_item_plusfactor = format_float($category->grade_item_plusfactor, 4);
+
+    if (!$parent_category) {
+        // keep as is
+    } else if ($parent_category->aggregation == GRADE_AGGREGATE_SUM or $parent_category->aggregation == GRADE_AGGREGATE_WEIGHTED_MEAN2) {
+        $category->grade_item_aggregationcoef = $category->grade_item_aggregationcoef == 0 ? 0 : 1;
+    } else {
+        $category->grade_item_aggregationcoef = format_float($category->grade_item_aggregationcoef, 4);
+    }
+
 } else {
     $heading = get_string('newcategory', 'grades');
     $grade_category = new grade_category(array('courseid'=>$courseid), false);
@@ -178,14 +191,6 @@ if ($mform->is_cancelled()) {
         $grade_category->set_parent($data->parentcategory, 'gradebook');
     }
 
-    // update agg coef if needed
-    if (isset($data->aggregationcoef)) {
-        $data->aggregationcoef = unformat_float($data->aggregationcoef);
-        $grade_item = $grade_category->load_grade_item();
-        $grade_item->aggregationcoef = $data->aggregationcoef;
-        $grade_item->update();
-    }
-
     redirect($returnurl);
 }
 
index d9e4cf1a464423504ce3db5adf991a9ec561f604..ed3d9d352c1789e57790054e05a44c1405a0a0c9 100644 (file)
@@ -381,7 +381,7 @@ class edit_category_form extends moodleform {
 
 
         // no parent header for course category
-        if (!$mform->elementExists('aggregationcoef') and !$mform->elementExists('parentcategory')) {
+        if (!$mform->elementExists('parentcategory')) {
             $mform->removeElement('headerparent');
         }