From 290ddb7317ec302bdd1d0415a06fdf3951d3f7d9 Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Fri, 26 Sep 2014 14:03:17 +0800 Subject: [PATCH] MDL-47253 core_grades: display scale in Natural setup Part of: MDL-46576 --- grade/edit/tree/lib.php | 9 ++++++--- grade/tests/edittreelib_test.php | 5 ++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/grade/edit/tree/lib.php b/grade/edit/tree/lib.php index 91aaad488b1..6888600cc57 100644 --- a/grade/edit/tree/lib.php +++ b/grade/edit/tree/lib.php @@ -766,8 +766,6 @@ class grade_edit_tree_column_range extends grade_edit_tree_column { $parent_cat = $item->get_parent_category(); if ($item->gradetype == GRADE_TYPE_TEXT) { $grademax = ' - '; - } else if ($parent_cat->aggregation == GRADE_AGGREGATE_SUM) { - $grademax = format_float($item->grademax, $item->get_decimals()); } else if ($item->gradetype == GRADE_TYPE_SCALE) { $scale = $DB->get_record('scale', array('id' => $item->scaleid)); $scale_items = null; @@ -776,7 +774,12 @@ class grade_edit_tree_column_range extends grade_edit_tree_column { } else { $scale_items = explode(',', $scale->scale); } - $grademax = end($scale_items) . ' (' . count($scale_items) . ')'; + if ($parent_cat->aggregation == GRADE_AGGREGATE_SUM) { + $grademax = end($scale_items) . ' (' . + format_float($item->grademax, $item->get_decimals()) . ')'; + } else { + $grademax = end($scale_items) . ' (' . count($scale_items) . ')'; + } } else { $grademax = format_float($item->grademax, $item->get_decimals()); } diff --git a/grade/tests/edittreelib_test.php b/grade/tests/edittreelib_test.php index 051c15559da..aa51b279c59 100644 --- a/grade/tests/edittreelib_test.php +++ b/grade/tests/edittreelib_test.php @@ -93,7 +93,10 @@ class core_grade_edittreelib_testcase extends advanced_testcase { // Make the expected scale text. $scaleitems = null; $scaleitems = explode(',', $scale->scale); - $scalestring = end($scaleitems) . ' (' . count($scaleitems) . ')'; + // Make sure that we expect grademax (displayed in parenthesis) be the same + // as number of items in the scale. + $scalestring = end($scaleitems) . ' (' . + format_float(count($scaleitems), 2) . ')'; $this->assertEquals(GRADE_TYPE_SCALE, $gradeitem->gradetype); $this->assertEquals($scale->id, $gradeitem->scaleid); -- 2.43.0