diff --git a/group/group_form.php b/group/group_form.php index a7f15564fca..c29947a1f4c 100644 --- a/group/group_form.php +++ b/group/group_form.php @@ -132,8 +132,12 @@ class group_form extends moodleform { } else if (!empty($idnumber) && groups_get_group_by_idnumber($COURSE->id, $idnumber)) { $errors['idnumber']= get_string('idnumbertaken'); } else if ($data['enrolmentkey'] != '') { - // Prevent the same enrolment key from being used multiple times in course groups. - if ($DB->record_exists('groups', array('courseid' => $COURSE->id, 'enrolmentkey' => $data['enrolmentkey']))) { + $errmsg = ''; + if (!empty($CFG->groupenrolmentkeypolicy) && !check_password_policy($data['enrolmentkey'], $errmsg)) { + // Enforce password policy. + $errors['enrolmentkey'] = $errmsg; + } else if ($DB->record_exists('groups', array('courseid' => $COURSE->id, 'enrolmentkey' => $data['enrolmentkey']))) { + // Prevent the same enrolment key from being used multiple times in course groups. $errors['enrolmentkey'] = get_string('enrolmentkeyalreadyinuse', 'group'); } } diff --git a/group/tests/behat/create_groups.feature b/group/tests/behat/create_groups.feature index 505b59748a9..466b7d48668 100644 --- a/group/tests/behat/create_groups.feature +++ b/group/tests/behat/create_groups.feature @@ -100,6 +100,11 @@ Feature: Organize students into groups And I expand "Users" node And I follow "Groups" When I press "Create group" + And I set the following fields to these values: + | Group name | Group A | + | Enrolment key | badpasswd | + And I press "Save changes" + And I should see "Passwords must have at least 1 digit(s)" And I set the following fields to these values: | Group name | Group A | | Enrolment key | Abcdef-1 |