From afaeae17969689f423d3f5f03d578daf72cde71c Mon Sep 17 00:00:00 2001 From: Ankit Agarwal Date: Tue, 24 Jan 2017 15:48:25 +0530 Subject: [PATCH] MDL-57296 gradelib: Fix get_hidding_effect for grade_type_none items --- grade/report/grader/lib.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 400b5c0ea27..e10a93443dc 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -565,11 +565,16 @@ class grade_report_grader extends grade_report { WHERE g.itemid = gi.id AND gi.courseid = :courseid {$this->userselect}"; $userids = array_keys($this->users); + $allgradeitems = $this->get_allgradeitems(); if ($grades = $DB->get_records_sql($sql, $params)) { foreach ($grades as $graderec) { $grade = new grade_grade($graderec, false); - $this->allgrades[$graderec->userid][$graderec->itemid] = $grade; + if (!empty($allgradeitems[$graderec->itemid])) { + // Note: Filter out grades which have a grade type of GRADE_TYPE_NONE. + // Only grades without this type are present in $allgradeitems. + $this->allgrades[$graderec->userid][$graderec->itemid] = $grade; + } if (in_array($graderec->userid, $userids) and array_key_exists($graderec->itemid, $this->gtree->get_items())) { // some items may not be present!! $this->grades[$graderec->userid][$graderec->itemid] = $grade; $this->grades[$graderec->userid][$graderec->itemid]->grade_item = $this->gtree->get_item($graderec->itemid); // db caching @@ -592,7 +597,6 @@ class grade_report_grader extends grade_report { } // Pre fill grades for any remaining items which might be collapsed. - $allgradeitems = $this->get_allgradeitems(); foreach ($userids as $userid) { foreach ($allgradeitems as $itemid => $gradeitem) { if (!isset($this->allgrades[$userid][$itemid])) {