MDL-29274 blocks: people block will use course context for making url and not module context

This commit is contained in:
Rajesh Taneja
2012-02-24 16:39:51 +08:00
parent d1c12af76e
commit f013b576ec
+7 -5
View File
@@ -19,10 +19,13 @@ class block_participants extends block_list {
$this->content->icons = array();
$this->content->footer = '';
/// MDL-13252 Always get the course context or else the context may be incorrect in the user/index.php
$currentcontext = $this->page->context;
// user/index.php expect course context, so get one if page has module context.
$currentcontext = $this->page->context->get_course_context(false);
if ($this->page->course->id == SITEID) {
if (empty($currentcontext)) {
$this->content = '';
return $this->content;
} else if ($this->page->course->id == SITEID) {
if (!has_capability('moodle/site:viewparticipants', get_context_instance(CONTEXT_SYSTEM))) {
$this->content = '';
return $this->content;
@@ -33,6 +36,7 @@ class block_participants extends block_list {
return $this->content;
}
}
$icon = '<img src="'.$OUTPUT->pix_url('i/users') . '" class="icon" alt="" />&nbsp;';
$this->content->items[] = '<a title="'.get_string('listofallpeople').'" href="'.
$CFG->wwwroot.'/user/index.php?contextid='.$currentcontext->id.'">'.$icon.get_string('participants').'</a>';
@@ -46,5 +50,3 @@ class block_participants extends block_list {
}
}