diff --git a/main/group/import.php b/main/group/import.php index 49e98eecef..58acf834de 100755 --- a/main/group/import.php +++ b/main/group/import.php @@ -15,8 +15,6 @@ if (!api_is_allowed_to_edit(false, true)) { $nameTools = get_lang('Import'); $interbreadcrumb[] = array('url' => 'group.php', 'name' => get_lang('Groups')); -Display::display_header($nameTools, 'Group'); - $form = new FormValidator('import', 'post', api_get_self().'?'.api_get_cidreq()); $form->addElement('header', get_lang('ImportGroups')); $form->addElement('file', 'file', get_lang('ImportCSVFileLocation')); @@ -74,11 +72,18 @@ if ($form->validate()) { } } - echo $html; + Display::addFlash( + Display::return_message($html, 'information', false) + ); + + header('Location: '.api_get_path(WEB_CODE_PATH).'group/group.php?'.api_get_cidreq()); + exit; } } } +Display::display_header($nameTools, 'Group'); + $form->display(); Display::display_footer(); diff --git a/main/inc/lib/groupmanager.lib.php b/main/inc/lib/groupmanager.lib.php index 4e1446f679..bf615b7e9c 100755 --- a/main/inc/lib/groupmanager.lib.php +++ b/main/inc/lib/groupmanager.lib.php @@ -2351,6 +2351,8 @@ class GroupManager 'groups' => array() ); + $courseCode = api_get_course_id(); + $sessionId = api_get_session_id(); $groupCategories = self::get_categories(); if (empty($groupCategories)) { @@ -2485,6 +2487,29 @@ class GroupManager $studentUserIdList = array(); foreach ($students as $student) { $userInfo = api_get_user_info_from_username($student); + + if (!$userInfo) { + continue; + } + + if ( + !CourseManager::is_user_subscribed_in_course( + $userInfo['user_id'], + $courseCode, + !empty($sessionId), + $sessionId + ) + ) { + Display::addFlash( + Display::return_message( + sprintf(get_lang('StudentXIsNotSubscribedToCourse'), $userInfo['complete_name']), + 'warning' + ) + ); + + continue; + } + $studentUserIdList[] = $userInfo['user_id']; } self::subscribe_users($studentUserIdList, $groupInfo);