Company reports for student boss - refs BT#9431

1.10.x
Imanol Losada 11 years ago
parent fc8df53980
commit 0b77b663fe
  1. 39
      main/inc/ajax/model.ajax.php

@ -151,6 +151,8 @@ switch ($action) {
$courseCodeList = array();
$userIdList = array();
$sessionIdList = [];
$searchByGroups = false;
if (api_is_drh()) {
if (api_drh_can_access_all_session_content()) {
$userList = SessionManager::getAllUsersFromCoursesFromAllSessionFromStatus(
@ -188,11 +190,8 @@ switch ($action) {
exit;
}
} elseif (api_is_student_boss()) {
$users = UserManager::getUsersFollowedByStudentBoss($userId);
$userIdList = array_keys($users);
}
$sessionIdList = [];
$searchByGroups = true;
} elseif (api_is_platform_admin()) {
if ($sessionId == -1) {
$userIdList = SessionManager::getAllUsersFromCoursesFromAllSessionFromStatus(
'admin',
@ -208,7 +207,10 @@ switch ($action) {
$courseCodeList = array_merge($courseCodeList, array_column($courses, 'code'));
}
}
$searchByGroups = true;
}
if ($searchByGroups) {
$groups = GroupPortalManager::get_groups_by_user(api_get_user_id(), GROUP_USER_PERMISSION_ADMIN);
$groupsId = array_keys($groups);
@ -229,11 +231,38 @@ switch ($action) {
}
}
}
}
if (is_array($userIdList)) {
$userIdList = array_unique($userIdList);
}
if (api_is_student_boss()) {
$userCourses = [];
foreach ($userIdList as $userId) {
$userCourses = array_merge(
$userCourses,
CourseManager::get_courses_list_by_user_id($userId, true)
);
$userSessions = SessionManager::getSessionsFollowedByUser($userId);
$sessionIdList = array_merge(
$sessionIdList,
array_column($userSessions, 'id')
);
}
$courseCodeList = array_column($userCourses, 'code');
}
if (!empty($courseCodeList)) {
$courseCodeList = array_unique($courseCodeList);
}
if (!empty($sessionIdList)) {
$sessionIdList = array_unique($sessionIdList);
}
if ($action == 'get_user_course_report') {
$count = CourseManager::get_count_user_list_from_course_code(
false,

Loading…
Cancel
Save