Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-34389

moodle/course:changecategory - only the current category is available in dropdown menu for changing course category

    XMLWordPrintable

    Details

    • Database:
      MySQL
    • Testing Instructions:
      Hide
      • Have a user in your Moodle (User X).
      • As admin, create a subcategory of "Miscellaneous", e.g "Miscellaneous sub".
      • Create a top level category "Not allowed", too.
      • Have a course ready in "Miscellaneous".
      • Go to "Users > Permissions > Define roles" and click "Add a new role" - Use role or archetype "ARCHETYPE Authenticated user" and let's call it "Category Changer" - with the following permissions:
        • Context types where this role may be assigned: Category
        • See hidden categories (moodle/category:viewhiddencategories) Allow
        • Change course category (moodle/course:changecategory) Allow
        • Update course settings (moodle/course:update) Allow
        • View courses without participation (moodle/course:view) Allow
        • View hidden courses (moodle/course:viewhiddencourses) Allow
        • View hidden sections (moodle/course:viewhiddensections) Allow
        • View participants (moodle/course:viewparticipants) Allow
      • Navigate to 'Courses > Manage courses and categories'.
      • Next to the category "Miscellaneous" click on the cog and then click "Assign roles".
      • Select "Category Changer"
      • Assign the "Category Changer" role to the user X.
      • Log in as user X.
      • Go to the course in the "Miscellaneous" category, Cog → Edit settings
      • Cross-check that the pulldown menu for "Course category" shows "Miscellaneous" and "Miscellaneous / Miscellaneous sub", but not "Not allowed".
      Show
      Have a user in your Moodle (User X). As admin, create a subcategory of "Miscellaneous", e.g "Miscellaneous sub". Create a top level category "Not allowed", too. Have a course ready in "Miscellaneous". Go to "Users > Permissions > Define roles" and click "Add a new role" - Use role or archetype "ARCHETYPE Authenticated user" and let's call it "Category Changer" - with the following permissions: Context types where this role may be assigned: Category See hidden categories (moodle/category:viewhiddencategories) Allow Change course category (moodle/course:changecategory) Allow Update course settings (moodle/course:update) Allow View courses without participation (moodle/course:view) Allow View hidden courses (moodle/course:viewhiddencourses) Allow View hidden sections (moodle/course:viewhiddensections) Allow View participants (moodle/course:viewparticipants) Allow Navigate to 'Courses > Manage courses and categories'. Next to the category "Miscellaneous" click on the cog and then click "Assign roles". Select "Category Changer" Assign the "Category Changer" role to the user X. Log in as user X. Go to the course in the "Miscellaneous" category, Cog → Edit settings Cross-check that the pulldown menu for "Course category" shows "Miscellaneous" and "Miscellaneous / Miscellaneous sub", but not "Not allowed".
    • Affected Branches:
      MOODLE_22_STABLE, MOODLE_33_STABLE, MOODLE_34_STABLE
    • Fixed Branches:
      MOODLE_33_STABLE, MOODLE_34_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-34389-subcategories-for-category-changer

      Description

      After enabling the "Change course category (moodle/course:changecategory)" permission for a Category Admin role the user can see a dropdown menu for changing course category but with only one option - the current category. Subcategories of the current category or other categories the Category Admin is assigned to do not appear in the drop-down menu (Edit course settings > Category). Are there any other prerequisites for displaying a dropdown menu with a complete list of categories the user is assigned to?

      Steps to replicate this bug:

      • Have a user in your Moodle.
      • As admin, create a subcategory of "Miscellaneous", e.g "Miscellaneous sub".
      • Create a top level category "Not allowed", too.
      • Have a course ready in "Miscellaneous".
      • Go to "Manage roles" roles/manage.php and click "Add a new role" - Use role or archetype "ARCHETYPE Authenticated user" and let's call it "Category Changer" - with the following permissions:
        • Context types where this role may be assigned: Category
        • See hidden categories (moodle/category:viewhiddencategories) Allow
        • Change course category (moodle/course:changecategory) Allow
        • Update course settings (moodle/course:update) Allow
        • View courses without participation (moodle/course:view) Allow
        • View hidden courses (moodle/course:viewhiddencourses) Allow
        • View hidden sections (moodle/course:viewhiddensections) Allow
        • View participants (moodle/course:viewparticipants) Allow
      • Navigate to course and category management course/management.php?categoryid=1.
      • On category "Miscellaneous", click "Assign role" and in the following screen "Category Changer".
      • Assign the "Category Changer" role to the user you have.
      • Log in as the user.
      • Go to the course in the "Miscellaneous" category, Cog → Edit settings

      What you expect:

      • The pulldown menu for "Course category" should show "Miscellaneous" and its subcategory "Miscellaneous sub" but not "Not allowed".

      What actually happens:

      • The pulldown menu for "Course category" just shows "Miscellaneous"

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                6 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  15/Jan/18