MDL-45808 group: Observe the group key policy upon group creation

This commit is contained in:
Frederic Massart 2014-06-03 15:53:57 +08:00
parent 6685e0487f
commit 9d4762c9b5
2 changed files with 11 additions and 2 deletions

View File

@ -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');
}
}

View File

@ -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 |