MDL-39986 badges: Show badge navigation to users with awardbadge capability

Also fixes an arror when a user with this capability tries to award a badge,
but their role is not among the criteria set up for a badge
This commit is contained in:
Yuliya Bozhko
2013-07-03 13:13:55 +08:00
committed by Dan Poltawski
parent 4787014c56
commit 19a9f2eada
4 changed files with 46 additions and 21 deletions
+12 -2
View File
@@ -903,7 +903,7 @@ function badges_add_course_navigation(navigation_node $coursenode, stdClass $cou
new pix_icon('i/badge', get_string('coursebadges', 'badges')));
if (has_capability('moodle/badges:viewawarded', $coursecontext)) {
$url = new moodle_url($CFG->wwwroot . '/badges/index.php',
$url = new moodle_url('/badges/index.php',
array('type' => BADGE_TYPE_COURSE, 'id' => $course->id));
$coursenode->get('coursebadges')->add(get_string('managebadges', 'badges'), $url,
@@ -911,12 +911,22 @@ function badges_add_course_navigation(navigation_node $coursenode, stdClass $cou
}
if (has_capability('moodle/badges:createbadge', $coursecontext)) {
$url = new moodle_url($CFG->wwwroot . '/badges/newbadge.php',
$url = new moodle_url('/badges/newbadge.php',
array('type' => BADGE_TYPE_COURSE, 'id' => $course->id));
$coursenode->get('coursebadges')->add(get_string('newbadge', 'badges'), $url,
navigation_node::TYPE_SETTING, null, 'newbadge');
}
} else if (has_capability('moodle/badges:awardbadge', $coursecontext)) {
$coursenode->add(get_string('coursebadges', 'badges'), null,
navigation_node::TYPE_CONTAINER, null, 'coursebadges',
new pix_icon('i/badge', get_string('coursebadges', 'badges')));
$url = new moodle_url('/badges/index.php',
array('type' => BADGE_TYPE_COURSE, 'id' => $course->id));
$coursenode->get('coursebadges')->add(get_string('managebadges', 'badges'), $url,
navigation_node::TYPE_SETTING, null, 'coursebadges');
}
}
}