enrol MDL-22854 Fixed navigation for the cohort add instance page

This commit is contained in:
Sam Hemelryk
2010-07-12 06:18:08 +00:00
parent 0b75ea780e
commit f5ce6b71da
2 changed files with 20 additions and 11 deletions
+12 -3
View File
@@ -35,6 +35,16 @@ $context = get_context_instance(CONTEXT_COURSE, $course->id, MUST_EXIST);
require_login($course);
require_capability('moodle/course:enrolconfig', $context);
$PAGE->set_url('/enrol/cohort/addinstance.php', array('id'=>$course->id));
$PAGE->set_pagelayout('standard');
// Try and make the manage instances node on the navigation active
$courseadmin = $PAGE->settingsnav->get('courseadmin');
if ($courseadmin && $courseadmin->get('users') && $courseadmin->get('users')->get('manageinstances')) {
$courseadmin->get('users')->get('manageinstances')->make_active();
}
$enrol = enrol_get_plugin('cohort');
if (!$enrol->get_candidate_link($course->id)) {
redirect(new moodle_url('/enrol/instances.php', array('id'=>$course->id)));
@@ -51,10 +61,9 @@ if ($mform->is_cancelled()) {
redirect(new moodle_url('/enrol/instances.php', array('id'=>$course->id)));
}
$PAGE->set_url('/enrol/cohort/addinstance.php', array('id'=>$course->id));
$PAGE->set_heading($course->fullname);
$PAGE->set_title(get_string('pluginname', 'enrol_cohort'));
echo $OUTPUT->header();
$mform->display();
echo $OUTPUT->footer();
+8 -8
View File
@@ -301,13 +301,13 @@ function enrol_add_course_navigation(navigation_node $coursenode, $course) {
}
}
$usersnode = $coursenode->add(get_string('users'), null, navigation_node::TYPE_CONTAINER);
$usersnode = $coursenode->add(get_string('users'), null, navigation_node::TYPE_CONTAINER, null, 'users');
if ($course->id != SITEID) {
// list all participants - allows assing roles, groups, etc.
// list all participants - allows assigning roles, groups, etc.
if (has_capability('moodle/course:enrolreview', $coursecontext)) {
$url = new moodle_url('/enrol/users.php', array('id'=>$course->id));
$usersnode->add(get_string('enrolledusers', 'enrol'), $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/users', ''));
$usersnode->add(get_string('enrolledusers', 'enrol'), $url, navigation_node::TYPE_SETTING, null, 'review', new pix_icon('i/users', ''));
}
// manage enrol plugin instances
@@ -316,7 +316,7 @@ function enrol_add_course_navigation(navigation_node $coursenode, $course) {
} else {
$url = NULL;
}
$instancesnode = $usersnode->add(get_string('enrolmentinstances', 'enrol'), $url);
$instancesnode = $usersnode->add(get_string('enrolmentinstances', 'enrol'), $url, navigation_node::TYPE_SETTING, null, 'manageinstances');
// each instance decides how to configure itself or how many other nav items are exposed
foreach ($instances as $instance) {
@@ -344,19 +344,19 @@ function enrol_add_course_navigation(navigation_node $coursenode, $course) {
} else {
$url = NULL;
}
$permissionsnode = $usersnode->add(get_string('permissions', 'role'), $url);
$permissionsnode = $usersnode->add(get_string('permissions', 'role'), $url, navigation_node::TYPE_SETTING, null, 'override');
// Add assign or override roles if allowed
if ($course->id == SITEID or (!empty($CFG->adminsassignrolesincourse) and is_siteadmin())) {
if (has_capability('moodle/role:assign', $coursecontext)) {
$url = new moodle_url('/admin/roles/assign.php', array('contextid'=>$coursecontext->id));
$permissionsnode->add(get_string('assignedroles', 'role'), $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/roles', ''));
$permissionsnode->add(get_string('assignedroles', 'role'), $url, navigation_node::TYPE_SETTING, null, 'roles', new pix_icon('i/roles', ''));
}
}
// Check role permissions
if (has_any_capability(array('moodle/role:assign', 'moodle/role:safeoverride','moodle/role:override', 'moodle/role:assign'), $coursecontext)) {
$url = new moodle_url('/admin/roles/check.php', array('contextid'=>$coursecontext->id));
$permissionsnode->add(get_string('checkpermissions', 'role'), $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/checkpermissions', ''));
$permissionsnode->add(get_string('checkpermissions', 'role'), $url, navigation_node::TYPE_SETTING, null, 'permissions', new pix_icon('i/checkpermissions', ''));
}
}
@@ -365,7 +365,7 @@ function enrol_add_course_navigation(navigation_node $coursenode, $course) {
//TODO, create some new UI for role assignments at course level
if (has_capability('moodle/role:assign', $coursecontext)) {
$url = new moodle_url('/enrol/otherusers.php', array('id'=>$course->id));
$usersnode->add(get_string('notenrolledusers', 'enrol'), $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/roles', ''));
$usersnode->add(get_string('notenrolledusers', 'enrol'), $url, navigation_node::TYPE_SETTING, null, 'otherusers', new pix_icon('i/roles', ''));
}
}