From 735c3a7b4fd96d4c51c1a28da89c8ab487670c32 Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Fri, 25 Oct 2013 11:09:43 +0800 Subject: [PATCH] MDL-42536 enrol_self: Added groups/lib.php required file --- enrol/self/lib.php | 4 +++- enrol/self/tests/behat/self_enrolment.feature | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/enrol/self/lib.php b/enrol/self/lib.php index 22d2f7499d5..fd99646719a 100644 --- a/enrol/self/lib.php +++ b/enrol/self/lib.php @@ -180,7 +180,7 @@ class enrol_self_plugin extends enrol_plugin { * @return bool|array true if enroled else eddor code and messege */ public function enrol_self(stdClass $instance, $data = null) { - global $DB, $USER; + global $DB, $USER, $CFG; // Don't enrol user if password is not passed when required. if ($instance->password && !isset($data->enrolpassword)) { @@ -205,6 +205,8 @@ class enrol_self_plugin extends enrol_plugin { continue; } if ($group->enrolmentkey === $data->enrolpassword) { + // Add user to group. + require_once($CFG->dirroot.'/group/lib.php'); groups_add_member($group->id, $USER->id); break; } diff --git a/enrol/self/tests/behat/self_enrolment.feature b/enrol/self/tests/behat/self_enrolment.feature index 978ce3a534b..7921ec7322d 100644 --- a/enrol/self/tests/behat/self_enrolment.feature +++ b/enrol/self/tests/behat/self_enrolment.feature @@ -51,3 +51,27 @@ Feature: Users can auto-enrol themself in courses where self enrolment is allowe Given I log in as "student1" When I follow "Course 1" Then I should see "You can not enrol yourself in this course" + + @javascript + Scenario: Self-enrolment enabled requiring a group enrolment key + Given I log in as "teacher1" + And I follow "Course 1" + When I add "Self enrolment" enrolment method with: + | Custom instance name | Test student enrolment | + | Enrolment key | moodle_rules | + | Use group enrolment keys | Yes | + And I follow "Groups" + And I press "Create group" + And I fill the moodle form with: + | Group name | Group 1 | + | Enrolment key | testgroupenrolkey | + And I press "Save changes" + And I log out + And I log in as "student1" + And I follow "Course 1" + And I fill the moodle form with: + | Enrolment key | testgroupenrolkey | + And I press "Enrol me" + Then I should see "Topic 1" + And I should not see "Enrolment options" + And I should not see "Enrol me in this course" \ No newline at end of file