Add courses, sessions in usergroup export see BT#18886

pull/3889/head
Julio Montoya 4 years ago
parent 6686dfecd1
commit f24d0a5ba9
  1. 3
      main/admin/usergroup_export.php
  2. 21
      main/inc/lib/usergroup.lib.php

@ -1,4 +1,5 @@
<?php <?php
/* For licensing terms, see /license.txt */ /* For licensing terms, see /license.txt */
$cidReset = true; $cidReset = true;
@ -19,7 +20,7 @@ $form->addElement('header', $tool_name);
$form->addButtonExport(get_lang('Export')); $form->addButtonExport(get_lang('Export'));
if ($form->validate()) { if ($form->validate()) {
$header = [['id', 'name', 'description', 'users']]; $header = [['id', 'name', 'description', 'users', 'courses', 'sessions']];
$data = $userGroup->getDataToExport(); $data = $userGroup->getDataToExport();
$data = array_merge($header, $data); $data = array_merge($header, $data);
$filename = 'export_classes_'.api_get_local_time(); $filename = 'export_classes_'.api_get_local_time();

@ -1298,7 +1298,7 @@ class UserGroup extends Model
if ($this->allowTeachers()) { if ($this->allowTeachers()) {
$options['where'] = [' author_id = ? ' => api_get_user_id()]; $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 { } else {
if ($this->allowTeachers()) { if ($this->allowTeachers()) {
$options['where'] = [' author_id = ? ' => api_get_user_id()]; $options['where'] = [' author_id = ? ' => api_get_user_id()];
@ -1318,7 +1318,26 @@ class UserGroup extends Model
} }
$userToString = implode(',', $userNameList); $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['users'] = $userToString;
$data['courses'] = $coursesToString;
$data['sessions'] = $sessionsToString;
$result[] = $data; $result[] = $data;
} }
} }

Loading…
Cancel
Save