diff --git a/grade/classes/grades/grader/gradingpanel/point/external/fetch.php b/grade/classes/grades/grader/gradingpanel/point/external/fetch.php index 108724ed7ed..09fbb4ea22e 100644 --- a/grade/classes/grades/grader/gradingpanel/point/external/fetch.php +++ b/grade/classes/grades/grader/gradingpanel/point/external/fetch.php @@ -136,14 +136,13 @@ class fetch extends external_api { } $hasgrade = $gradeitem->user_has_grade($gradeduser); - $grade = $gradeitem->get_grade_for_user($gradeduser, $USER); + $grade = $gradeitem->get_formatted_grade_for_user($gradeduser, $USER); // Set up some items we need to return on other interfaces. $gradegrade = \grade_grade::fetch(['itemid' => $gradeitem->get_grade_item()->id, 'userid' => $gradeduser->id]); $gradername = $gradegrade ? fullname(\core_user::get_user($gradegrade->usermodified)) : null; - $maxgrade = (int) $gradeitem->get_grade_item()->grademax; - return self::get_fetch_data($grade, $hasgrade, $maxgrade, $gradername); + return self::get_fetch_data($grade, $hasgrade, (int) $grade->maxgrade, $gradername); } /** @@ -161,7 +160,7 @@ class fetch extends external_api { 'hasgrade' => $hasgrade, 'grade' => [ 'grade' => $grade->grade, - 'usergrade' => $grade->grade, + 'usergrade' => $grade->usergrade, 'maxgrade' => $maxgrade, 'gradedby' => $gradername, 'timecreated' => $grade->timecreated, diff --git a/grade/classes/grades/grader/gradingpanel/point/external/store.php b/grade/classes/grades/grader/gradingpanel/point/external/store.php index 54880279388..92a723630b0 100644 --- a/grade/classes/grades/grader/gradingpanel/point/external/store.php +++ b/grade/classes/grades/grader/gradingpanel/point/external/store.php @@ -170,13 +170,12 @@ class store extends external_api { } // Fetch the updated grade back out. - $grade = $gradeitem->get_grade_for_user($gradeduser, $USER); + $grade = $gradeitem->get_formatted_grade_for_user($gradeduser, $USER); $gradegrade = \grade_grade::fetch(['itemid' => $gradeitem->get_grade_item()->id, 'userid' => $gradeduser->id]); $gradername = $gradegrade ? fullname(\core_user::get_user($gradegrade->usermodified)) : null; - $maxgrade = (int) $gradeitem->get_grade_item()->grademax; - return fetch::get_fetch_data($grade, $hasgrade, $maxgrade, $gradername); + return fetch::get_fetch_data($grade, $hasgrade, (int) $grade->maxgrade, $gradername); } /** diff --git a/grade/classes/grades/grader/gradingpanel/scale/external/fetch.php b/grade/classes/grades/grader/gradingpanel/scale/external/fetch.php index 3501e31a629..87f4c0465b6 100644 --- a/grade/classes/grades/grader/gradingpanel/scale/external/fetch.php +++ b/grade/classes/grades/grader/gradingpanel/scale/external/fetch.php @@ -155,7 +155,7 @@ class fetch extends external_api { global $USER; $hasgrade = $gradeitem->user_has_grade($gradeduser); - $grade = $gradeitem->get_grade_for_user($gradeduser, $USER); + $grade = $gradeitem->get_formatted_grade_for_user($gradeduser, $USER); $currentgrade = (int) unformat_float($grade->grade); $menu = $gradeitem->get_grade_menu(); @@ -172,7 +172,7 @@ class fetch extends external_api { 'hasgrade' => $hasgrade, 'grade' => [ 'options' => $values, - 'usergrade' => $grade->grade, + 'usergrade' => $grade->usergrade, 'maxgrade' => $maxgrade, 'gradedby' => $gradername, 'timecreated' => $grade->timecreated, diff --git a/grade/grading/form/guide/classes/grades/grader/gradingpanel/external/fetch.php b/grade/grading/form/guide/classes/grades/grader/gradingpanel/external/fetch.php index 79d678359b2..c07cb5c0c60 100644 --- a/grade/grading/form/guide/classes/grades/grader/gradingpanel/external/fetch.php +++ b/grade/grading/form/guide/classes/grades/grader/gradingpanel/external/fetch.php @@ -154,7 +154,7 @@ class fetch extends external_api { global $USER; $hasgrade = $gradeitem->user_has_grade($gradeduser); - $grade = $gradeitem->get_grade_for_user($gradeduser, $USER); + $grade = $gradeitem->get_formatted_grade_for_user($gradeduser, $USER); $instance = $gradeitem->get_advanced_grading_instance($USER, $grade); if (!$instance) { throw new moodle_exception('error:gradingunavailable', 'grading'); @@ -237,7 +237,7 @@ class fetch extends external_api { 'criterion' => $criterion, 'hascomments' => !empty($comments), 'comments' => $comments, - 'usergrade' => $grade->grade, + 'usergrade' => $grade->usergrade, 'maxgrade' => $maxgrade, 'gradedby' => $gradername, 'timecreated' => $grade->timecreated, diff --git a/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_fetch_test.php b/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_fetch_test.php index 77c05972866..95132f8027d 100644 --- a/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_fetch_test.php +++ b/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_fetch_test.php @@ -136,7 +136,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(0, $result['grade']['usergrade']); + $this->assertEquals('- / 100.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -275,7 +275,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(25, $result['grade']['usergrade']); + $this->assertEquals('25.00 / 100.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); diff --git a/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_store_test.php b/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_store_test.php index 89296feaa34..5e428d3513a 100644 --- a/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_store_test.php +++ b/grade/grading/form/guide/tests/grades_grader_gradingpanel_guide_external_store_test.php @@ -168,7 +168,7 @@ class store_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(0.5, $result['grade']['usergrade']); + $this->assertEquals('0.50 / 2.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); diff --git a/grade/grading/form/rubric/classes/grades/grader/gradingpanel/external/fetch.php b/grade/grading/form/rubric/classes/grades/grader/gradingpanel/external/fetch.php index 49fa81d21a9..e5081d75864 100644 --- a/grade/grading/form/rubric/classes/grades/grader/gradingpanel/external/fetch.php +++ b/grade/grading/form/rubric/classes/grades/grader/gradingpanel/external/fetch.php @@ -147,7 +147,7 @@ class fetch extends external_api { global $USER; // Set up all the controllers etc that we'll be needing. $hasgrade = $gradeitem->user_has_grade($gradeduser); - $grade = $gradeitem->get_grade_for_user($gradeduser, $USER); + $grade = $gradeitem->get_formatted_grade_for_user($gradeduser, $USER); $instance = $gradeitem->get_advanced_grading_instance($USER, $grade); if (!$instance) { throw new moodle_exception('error:gradingunavailable', 'grading'); @@ -252,7 +252,7 @@ class fetch extends external_api { 'rubricmode' => 'evaluate editable', 'teacherdescription' => $teacherdescription, 'canedit' => false, - 'usergrade' => $grade->grade, + 'usergrade' => $grade->usergrade, 'maxgrade' => $maxgrade, 'gradedby' => $gradername, 'timecreated' => $grade->timecreated, diff --git a/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_fetch_test.php b/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_fetch_test.php index c62bf381aa5..2db09d99a98 100644 --- a/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_fetch_test.php +++ b/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_fetch_test.php @@ -137,7 +137,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(0, $result['grade']['usergrade']); + $this->assertEquals('- / 100.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -282,7 +282,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(50, $result['grade']['usergrade']); + $this->assertEquals('50.00 / 100.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); diff --git a/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_store_test.php b/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_store_test.php index e7b8aafab14..4d666cfda3b 100644 --- a/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_store_test.php +++ b/grade/grading/form/rubric/tests/grades_grader_gradingpanel_rubric_external_store_test.php @@ -167,7 +167,7 @@ class store_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(1, $result['grade']['usergrade']); + $this->assertEquals('1.00 / 2.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); diff --git a/grade/tests/grades_grader_gradingpanel_point_external_fetch_test.php b/grade/tests/grades_grader_gradingpanel_point_external_fetch_test.php index 208693bd486..9dc2cb221ff 100644 --- a/grade/tests/grades_grader_gradingpanel_point_external_fetch_test.php +++ b/grade/tests/grades_grader_gradingpanel_point_external_fetch_test.php @@ -138,7 +138,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(0, $result['grade']['usergrade']); + $this->assertEquals('- / 5.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -239,7 +239,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(4, $result['grade']['usergrade']); + $this->assertEquals('4.00 / 5.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); diff --git a/grade/tests/grades_grader_gradingpanel_point_external_store_test.php b/grade/tests/grades_grader_gradingpanel_point_external_store_test.php index 05494286f56..57649ab14dd 100644 --- a/grade/tests/grades_grader_gradingpanel_point_external_store_test.php +++ b/grade/tests/grades_grader_gradingpanel_point_external_store_test.php @@ -174,7 +174,7 @@ class store_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(null, $result['grade']['usergrade']); + $this->assertEquals('- / 5.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -217,7 +217,6 @@ class store_test extends advanced_testcase { $formdata = [ 'grade' => 4, ]; - $formattedvalue = grade_floatval(unformat_float(4)); $gradeitem = component_gradeitem::instance('mod_forum', $forum->get_context(), 'forum'); @@ -240,14 +239,14 @@ class store_test extends advanced_testcase { $this->assertIsArray($result['grade']); $this->assertArrayHasKey('grade', $result['grade']); - $this->assertEquals($formattedvalue, $result['grade']['grade']); + $this->assertEquals(grade_floatval(unformat_float(4)), $result['grade']['grade']); $this->assertIsInt($result['grade']['timecreated']); $this->assertArrayHasKey('timemodified', $result['grade']); $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals($formattedvalue, $result['grade']['usergrade']); + $this->assertEquals('4.00 / 5.00', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -269,7 +268,7 @@ class store_test extends advanced_testcase { 'itemid' => $storedgradeitem->id, ]); - $this->assertEquals($formattedvalue, $storedgrade->rawgrade); + $this->assertEquals(grade_floatval(unformat_float(4)), $storedgrade->rawgrade); } /** diff --git a/grade/tests/grades_grader_gradingpanel_scale_external_fetch_test.php b/grade/tests/grades_grader_gradingpanel_scale_external_fetch_test.php index 9a8ec1d0543..863f328109a 100644 --- a/grade/tests/grades_grader_gradingpanel_scale_external_fetch_test.php +++ b/grade/tests/grades_grader_gradingpanel_scale_external_fetch_test.php @@ -142,7 +142,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(0, $result['grade']['usergrade']); + $this->assertEquals('-', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -286,7 +286,7 @@ class fetch_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(2, $result['grade']['usergrade']); + $this->assertEquals('B', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); diff --git a/grade/tests/grades_grader_gradingpanel_scale_external_store_test.php b/grade/tests/grades_grader_gradingpanel_scale_external_store_test.php index b389b07e951..d127ab85ebb 100644 --- a/grade/tests/grades_grader_gradingpanel_scale_external_store_test.php +++ b/grade/tests/grades_grader_gradingpanel_scale_external_store_test.php @@ -160,7 +160,7 @@ class store_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(0, $result['grade']['usergrade']); + $this->assertEquals('-', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -244,7 +244,7 @@ class store_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(-1, $result['grade']['usergrade']); + $this->assertEquals('-', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']); @@ -331,7 +331,7 @@ class store_test extends advanced_testcase { $this->assertIsInt($result['grade']['timemodified']); $this->assertArrayHasKey('usergrade', $result['grade']); - $this->assertEquals(2, $result['grade']['usergrade']); + $this->assertEquals('B', $result['grade']['usergrade']); $this->assertArrayHasKey('maxgrade', $result['grade']); $this->assertIsInt($result['grade']['maxgrade']);