return '';
}
- $sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
// only 2 possible contexts, site or course
if ($this->instance->pageid == SITEID) { // site context
- $currentcontext = $sitecontext;
+ $currentcontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ $canviewparticipants = has_capability('moodle/site:viewparticipants', $currentcontext);
} else { // course context
$currentcontext = get_context_instance(CONTEXT_COURSE, $this->instance->pageid);
+ $canviewparticipants = has_capability('moodle/course:viewparticipants', $currentcontext);
}
- if (!has_capability('moodle/course:viewparticipants', $currentcontext)) {
+ if (!$canviewparticipants) {
$this->context = '';
return $this->content;
}
}
if ($this->instance->pageid != SITEID
- || has_capability('moodle/course:viewparticipants', $sitecontext)) {
+ || $canviewparticipants) {
$this->content->items[] = '<a title="'.get_string('listofallpeople').'" href="'.
$CFG->wwwroot.'/user/index.php?contextid='.$currentcontext->id.'">'.get_string('participants').'</a>';
'admin' => CAP_ALLOW
)
),
+
+ 'moodle/site:viewparticipants' => array(
+
+ 'captype' => 'read',
+ 'contextlevel' => CONTEXT_SYSTEM,
+ 'legacy' => array(
+ 'guest' => CAP_PREVENT,
+ 'student' => CAP_PREVENT,
+ 'teacher' => CAP_PREVENT,
+ 'editingteacher' => CAP_ALLOW,
+ 'coursecreator' => CAP_ALLOW,
+ 'admin' => CAP_ALLOW
+ )
+ ),
'moodle/site:viewreports' => array(