COURSEMANAGER and SESSIONADMIN can be course teachers - refs BT#20094

pull/4367/head
Angel Fernando Quiroz Campos 3 years ago
parent 193faa5138
commit 9398169e0c
  1. 8
      main/inc/ajax/user_manager.ajax.php
  2. 2
      main/inc/lib/sessionmanager.lib.php
  3. 8
      main/inc/lib/usermanager.lib.php
  4. 9
      main/user/subscribe_user.php
  5. 45
      main/user/user.php

@ -395,11 +395,13 @@ switch ($action) {
}
$qb
->andWhere('u.status = '.COURSEMANAGER)
->andWhere(
$qb->expr()->in('u.status', UserManager::getAllowedRolesAsTeacher())
)
->orderBy(
$sortByFirstName
? 'u.firstname, u.firstname'
: 'u.firstname, u.lastname'
? 'u.firstname, u.lastname'
: 'u.lastname, u.firstname'
)
->setParameter('q', '%'.$_REQUEST['q'].'%');

@ -3490,7 +3490,7 @@ class SessionManager
$tblSessionRelUser = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$tblUser = Database::get_main_table(TABLE_MAIN_USER);
$allowedTeachers = implode(',', [COURSEMANAGER, SESSIONADMIN]);
$allowedTeachers = implode(',', UserManager::getAllowedRolesAsTeacher());
// check if user is a teacher
$sql = "SELECT * FROM $tblUser WHERE status IN ($allowedTeachers) AND user_id = $userId";

@ -7733,4 +7733,12 @@ SQL;
return $url;
}
public static function getAllowedRolesAsTeacher(): array
{
return [
COURSEMANAGER,
SESSIONADMIN
];
}
}

@ -330,8 +330,8 @@ function get_number_of_users()
$sessionId = api_get_session_id();
if (isset($_REQUEST['type']) && $_REQUEST['type'] == COURSEMANAGER) {
$allowedRoles = implode(',', UserManager::getAllowedRolesAsTeacher());
if (api_get_session_id() != 0) {
$allowedRoles = implode(',', [COURSEMANAGER, SESSIONADMIN]);
$sql = "SELECT COUNT(u.id)
FROM $user_table u
@ -366,8 +366,6 @@ function get_number_of_users()
}
}
} else {
$allowedRoles = implode(',', [COURSEMANAGER]);
$sql = "SELECT COUNT(u.id)
FROM $user_table u
LEFT JOIN $course_user_table cu
@ -552,10 +550,9 @@ function get_user_data($from, $number_of_items, $column, $direction)
u.user_id AS col5";
}
if (isset($_REQUEST['type']) && $_REQUEST['type'] == COURSEMANAGER) {
$allowedRoles = implode(',', UserManager::getAllowedRolesAsTeacher());
// adding a teacher through a session
if (!empty($sessionId)) {
$allowedRoles = implode(',', [COURSEMANAGER, SESSIONADMIN]);
$sql = "SELECT $select_fields
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu
@ -586,8 +583,6 @@ function get_user_data($from, $number_of_items, $column, $direction)
}
$sql .= " AND access_url_id = $url_access_id";
} else {
$allowedRoles = implode(',', [COURSEMANAGER]);
// adding a teacher NOT through a session
$sql = "SELECT $select_fields
FROM $user_table u

@ -692,37 +692,20 @@ function get_number_of_users()
}
}
if (!empty($sessionId)) {
$users = CourseManager::get_user_list_from_course_code(
$courseCode,
$sessionId,
null,
null,
$status,
null,
false,
false,
null,
null,
null,
$active
);
} else {
$users = CourseManager::get_user_list_from_course_code(
$courseCode,
0,
null,
null,
$status,
null,
false,
false,
null,
null,
null,
$active
);
}
$users = CourseManager::get_user_list_from_course_code(
$courseCode,
$sessionId,
null,
null,
$status,
null,
false,
false,
null,
null,
null,
$active
);
foreach ($users as $user) {
if ((

Loading…
Cancel
Save