From 52de453351caee6bd131ec540a88aa6ba0e0a8cc Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Sun, 8 Apr 2012 11:10:44 +0700 Subject: [PATCH] MDL-31510 grade: made the user report observe $cm->uservisible so that activities not available to a student because of groups do not appear on their user report --- grade/report/user/lib.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/grade/report/user/lib.php b/grade/report/user/lib.php index 7b13ef07845..6443f1f911b 100644 --- a/grade/report/user/lib.php +++ b/grade/report/user/lib.php @@ -344,6 +344,19 @@ class grade_report_user extends grade_report { ($this->showhiddenitems == GRADE_REPORT_USER_HIDE_UNTIL && !$grade_grade->is_hiddenuntil()))) { // return false; } else { + // The grade object can be marked visible but still be hidden + // if "enablegroupmembersonly" is on and its an activity assigned to a grouping the user is not in + if (!empty($grade_object->itemmodule) && !empty($grade_object->iteminstance)) { + + $instances = $this->gtree->modinfo->get_instances(); + if (!empty($instances[$grade_object->itemmodule][$grade_object->iteminstance])) { + $cm = $instances[$grade_object->itemmodule][$grade_object->iteminstance]; + if (!$cm->uservisible) { + return false; + } + } + } + /// Excluded Item if ($grade_grade->is_excluded()) { $fullname .= ' ['.get_string('excluded', 'grades').']';