enrol MDL-22854 Fixed navigation for the cohort add instance page
This commit is contained in:
@@ -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
@@ -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', ''));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user