mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 20:42:22 +02:00
MDL-74254 course: User may not have capability to browse courses
This commit is contained in:
parent
0d0f09bc7f
commit
09446a2934
@ -412,7 +412,7 @@ class main implements renderable, templatable {
|
||||
|
||||
$newcourseurl = '';
|
||||
$coursecat = \core_course_category::user_top();
|
||||
if ($category = \core_course_category::get_nearest_editable_subcategory($coursecat, ['create'])) {
|
||||
if ($coursecat && ($category = \core_course_category::get_nearest_editable_subcategory($coursecat, ['create']))) {
|
||||
$newcourseurl = new \moodle_url('/course/edit.php', ['category' => $category->id]);
|
||||
}
|
||||
|
||||
|
@ -64,11 +64,11 @@ $PAGE->theme->addblockposition = BLOCK_ADDBLOCK_POSITION_CUSTOM;
|
||||
// Add course management if the user has the capabilities for it.
|
||||
$coursecat = core_course_category::user_top();
|
||||
$coursemanagemenu = [];
|
||||
if ($category = core_course_category::get_nearest_editable_subcategory($coursecat, ['create'])) {
|
||||
if ($coursecat && ($category = core_course_category::get_nearest_editable_subcategory($coursecat, ['create']))) {
|
||||
// The user has the capability to create course.
|
||||
$coursemanagemenu['newcourseurl'] = new moodle_url('/course/edit.php', ['category' => $category->id]);
|
||||
}
|
||||
if ($category = core_course_category::get_nearest_editable_subcategory($coursecat, ['manage'])) {
|
||||
if ($coursecat && ($category = core_course_category::get_nearest_editable_subcategory($coursecat, ['manage']))) {
|
||||
// The user has the capability to manage the course category.
|
||||
$coursemanagemenu['manageurl'] = new moodle_url('/course/management.php', ['categoryid' => $category->id]);
|
||||
}
|
||||
|
@ -30,6 +30,13 @@ Feature: Run tests over my courses.
|
||||
Given I am on the "My courses" page logged in as "user1"
|
||||
Then "Course management options" "link" should not exist
|
||||
|
||||
Scenario: User without capability to browse courses cannot see any link
|
||||
Given the following "permission overrides" exist:
|
||||
| capability | permission | role | contextlevel | reference |
|
||||
| moodle/category:viewcourselist | Prevent | user | System | |
|
||||
Given I am on the "My courses" page logged in as "user1"
|
||||
Then "Course management options" "link" should not exist
|
||||
|
||||
@javascript
|
||||
Scenario: User with creating a course permission can see the Create course link only
|
||||
Given the following "permission overrides" exist:
|
||||
|
Loading…
x
Reference in New Issue
Block a user