diff --git a/course/category.php b/course/category.php index 288a3b640ff..9a83b1a00d1 100644 --- a/course/category.php +++ b/course/category.php @@ -173,12 +173,6 @@ echo $OUTPUT->header(); } -/// Print link to roles - if (has_capability('moodle/role:assign', $context)) { - echo ''; - } - /// Print the category selector $displaylist = array(); $notused = array(); diff --git a/lib/navigationlib.php b/lib/navigationlib.php index b2791e92fbb..033c5fce2c2 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -3505,37 +3505,52 @@ class settings_navigation extends navigation_node { $categorynode = $this->add(print_context_name($this->context)); $categorynode->force_open(); + if (can_edit_in_category()) { + $url = new moodle_url('/course/category.php', array('id'=>$this->context->instanceid, 'sesskey'=>sesskey())); + if ($this->page->user_is_editing()) { + $url->param('categoryedit', '0'); + $editstring = get_string('turneditingoff'); + } else { + $url->param('categoryedit', '1'); + $editstring = get_string('turneditingon'); + } + $categorynode->add($editstring, $url, self::TYPE_SETTING, null, null, new pix_icon('i/edit', '')); + } + if ($this->page->user_is_editing() && has_capability('moodle/category:manage', $this->context)) { - $categorynode->add(get_string('editcategorythis'), new moodle_url('/course/editcategory.php', array('id' => $this->context->instanceid))); - $categorynode->add(get_string('addsubcategory'), new moodle_url('/course/editcategory.php', array('parent' => $this->context->instanceid))); + $editurl = new moodle_url('/course/editcategory.php', array('id' => $this->context->instanceid)); + $categorynode->add(get_string('editcategorythis'), $editurl, self::TYPE_SETTING, null, 'edit', new pix_icon('i/edit', '')); + + $addsubcaturl = new moodle_url('/course/editcategory.php', array('parent' => $this->context->instanceid)); + $categorynode->add(get_string('addsubcategory'), $addsubcaturl, self::TYPE_SETTING, null, 'addsubcat', new pix_icon('i/withsubcat', '')); } // Assign local roles if (has_capability('moodle/role:assign', $this->context)) { $assignurl = new moodle_url('/'.$CFG->admin.'/roles/assign.php', array('contextid'=>$this->context->id)); - $categorynode->add(get_string('assignroles', 'role'), $assignurl, self::TYPE_SETTING); + $categorynode->add(get_string('assignroles', 'role'), $assignurl, self::TYPE_SETTING, null, 'roles', new pix_icon('i/roles', '')); } // Override roles if (has_capability('moodle/role:review', $this->context) or count(get_overridable_roles($this->context))>0) { $url = new moodle_url('/'.$CFG->admin.'/roles/permissions.php', array('contextid'=>$this->context->id)); - $categorynode->add(get_string('permissions', 'role'), $url, self::TYPE_SETTING); + $categorynode->add(get_string('permissions', 'role'), $url, self::TYPE_SETTING, null, 'permissions', new pix_icon('i/permissions', '')); } // Check role permissions if (has_any_capability(array('moodle/role:assign', 'moodle/role:safeoverride','moodle/role:override', 'moodle/role:assign'), $this->context)) { $url = new moodle_url('/'.$CFG->admin.'/roles/check.php', array('contextid'=>$this->context->id)); - $categorynode->add(get_string('checkpermissions', 'role'), $url, self::TYPE_SETTING); + $categorynode->add(get_string('checkpermissions', 'role'), $url, self::TYPE_SETTING, null, 'checkpermissions', new pix_icon('i/checkpermissions', '')); } // Cohorts if (has_capability('moodle/cohort:manage', $this->context) or has_capability('moodle/cohort:view', $this->context)) { - $categorynode->add(get_string('cohorts', 'cohort'), new moodle_url('/cohort/index.php', array('contextid' => $this->context->id))); + $categorynode->add(get_string('cohorts', 'cohort'), new moodle_url('/cohort/index.php', array('contextid' => $this->context->id)), self::TYPE_SETTING, null, 'cohort', new pix_icon('i/cohort', '')); } // Manage filters if (has_capability('moodle/filter:manage', $this->context) && count(filter_get_available_in_context($this->context))>0) { $url = new moodle_url('/filter/manage.php', array('contextid'=>$this->context->id)); - $categorynode->add(get_string('filters', 'admin'), $url, self::TYPE_SETTING); + $categorynode->add(get_string('filters', 'admin'), $url, self::TYPE_SETTING, null, 'filters', new pix_icon('i/filter', '')); } return $categorynode;