MDL-29892 grade: added a check to prevent hidden courses appearing on student overvie...
authorAndrew Davis <andrew@moodle.com>
Mon, 23 Jan 2012 07:07:32 +0000 (14:07 +0700)
committerAndrew Davis <andrew@moodle.com>
Fri, 3 Feb 2012 01:46:54 +0000 (08:46 +0700)
grade/report/overview/lib.php

index cf8b757..b610817 100644 (file)
@@ -119,7 +119,14 @@ class grade_report_overview extends grade_report {
                 if (!$course->showgrades) {
                     continue;
                 }
+
                 $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
+
+                if (!$course->visible && !has_capability('moodle/course:viewhiddencourses', $coursecontext)) {
+                    // The course is hidden and the user isn't allowed to see it
+                    continue;
+                }
+
                 $courseshortname = format_string($course->shortname, true, array('context' => $coursecontext));
                 $courselink = html_writer::link(new moodle_url('/grade/report/user/index.php', array('id' => $course->id, 'userid' => $this->user->id)), $courseshortname);
                 $canviewhidden = has_capability('moodle/grade:viewhidden', $coursecontext);