MDL-21671, site level categroy manage capability when edit category, credits to Vadim...
authorDongsheng Cai <dongsheng@moodle.com>
Mon, 20 Dec 2010 03:03:31 +0000 (11:03 +0800)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 20 Dec 2010 18:03:14 +0000 (19:03 +0100)
course/editcategory_form.php

index 3f86854..b8f1917 100644 (file)
@@ -14,11 +14,17 @@ class editcategory_form extends moodleform {
         $editoroptions = $this->_customdata['editoroptions'];
 
         // get list of categories to use as parents, with site as the first one
-        $options = array(get_string('top'));
+        $options = array();
+        if (has_capability('moodle/category:manage', get_system_context()) || $category->parent == 0) {
+            $options[0] = get_string('top');
+        }
         $parents = array();
         if ($category->id) {
             // Editing an existing category.
             make_categories_list($options, $parents, 'moodle/category:manage', $category->id);
+            if (empty($options[$category->parent])) {
+                $options[$category->parent] = get_field('course_categories', 'name', 'id', $category->parent);
+            }
             $strsubmit = get_string('savechanges');
         } else {
             // Making a new category