diff --git a/enrol/users.php b/enrol/users.php index ac2b68d1aab74..e6940302518f3 100644 --- a/enrol/users.php +++ b/enrol/users.php @@ -144,7 +144,12 @@ $mform = new enrol_users_addmember_form(NULL, array('user'=>$user, 'course'=>$course, 'allgroups'=>$manager->get_all_groups())); $mform->set_data($PAGE->url->params()); $data = $mform->get_data(); - if ($mform->is_cancelled() || ($data && $manager->add_user_to_group($user, $data->groupid))) { + if ($mform->is_cancelled()) { + redirect($PAGE->url); + } if (!empty($data->groupids)) { + foreach ($data->groupids as $groupid) { + $manager->add_user_to_group($user, $groupid); + } redirect($PAGE->url); } else { $pagetitle = get_string('addgroup', 'group'); diff --git a/enrol/users_forms.php b/enrol/users_forms.php index ab5553057b97d..b2ac13cdc0a5f 100644 --- a/enrol/users_forms.php +++ b/enrol/users_forms.php @@ -99,7 +99,8 @@ function definition() { $mform->addElement('header','general', fullname($user)); - $mform->addElement('select', 'groupid', get_string('addgroup', 'group'), $options); + $mform->addElement('select', 'groupids', get_string('addgroup', 'group'), $options, array('multiple' => 'multiple')); + $mform->addRule('groupids', null, 'required'); $mform->addElement('hidden', 'id'); $mform->setType('id', PARAM_INT);