From f24d0a5ba917968aba8cade6c56e56283abdc3a1 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 11 Jun 2021 14:34:28 +0200 Subject: [PATCH] Add courses, sessions in usergroup export see BT#18886 --- main/admin/usergroup_export.php | 3 ++- main/inc/lib/usergroup.lib.php | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/main/admin/usergroup_export.php b/main/admin/usergroup_export.php index 09b149469e..f3805e8246 100755 --- a/main/admin/usergroup_export.php +++ b/main/admin/usergroup_export.php @@ -1,4 +1,5 @@ addElement('header', $tool_name); $form->addButtonExport(get_lang('Export')); if ($form->validate()) { - $header = [['id', 'name', 'description', 'users']]; + $header = [['id', 'name', 'description', 'users', 'courses', 'sessions']]; $data = $userGroup->getDataToExport(); $data = array_merge($header, $data); $filename = 'export_classes_'.api_get_local_time(); diff --git a/main/inc/lib/usergroup.lib.php b/main/inc/lib/usergroup.lib.php index 47af366ddf..958ec7c0f5 100755 --- a/main/inc/lib/usergroup.lib.php +++ b/main/inc/lib/usergroup.lib.php @@ -1298,7 +1298,7 @@ class UserGroup extends Model if ($this->allowTeachers()) { $options['where'] = [' author_id = ? ' => api_get_user_id()]; } - $classes = Database::select('a.id, name, description', $from, $options); + $classes = Database::select('u.id, name, description', $from, $options); } else { if ($this->allowTeachers()) { $options['where'] = [' author_id = ? ' => api_get_user_id()]; @@ -1318,7 +1318,26 @@ class UserGroup extends Model } $userToString = implode(',', $userNameList); } + + $courses = $this->get_courses_by_usergroup($data['id'], true); + $coursesToString = ''; + if (!empty($courses)) { + $coursesToString = implode(', ', array_column($courses, 'code')); + } + + $sessions = $this->get_sessions_by_usergroup($data['id']); + $sessionsToString = ''; + if (!empty($sessions)) { + $sessionList = []; + foreach ($sessions as $sessionId) { + $sessionList[] = api_get_session_info($sessionId)['name']; + } + $sessionsToString = implode(', ', $sessionList); + } + $data['users'] = $userToString; + $data['courses'] = $coursesToString; + $data['sessions'] = $sessionsToString; $result[] = $data; } }