Add allow_session_admin_login_as_teacher conf setting - refs BT#15095

Allow to session admins login as teachers
pull/2818/head
Angel Fernando Quiroz Campos 7 years ago
parent 53984be40e
commit f3a10b2baf
  1. 12
      main/admin/user_list.php
  2. 10
      main/inc/lib/api.lib.php
  3. 39
      main/install/configuration.dist.php

@ -578,7 +578,17 @@ function modify_filter($user_id, $url_params, $row)
}
//only allow platform admins to login_as, or session admins only for students (not teachers nor other admins)
if (api_is_platform_admin() || (api_is_session_admin() && $current_user_status_label == $statusname[STUDENT])) {
$loginAsStatusForSessionAdmins = [$statusname[STUDENT]];
//except when allow_session_admin_login_as_teacher is enabled, then can login_as teachers also
if (api_get_configuration_value('allow_session_admin_login_as_teacher')) {
$loginAsStatusForSessionAdmins[] = $statusname[COURSEMANAGER];
}
$sessionAdminCanLoginAs = api_is_session_admin() &&
in_array($current_user_status_label, $loginAsStatusForSessionAdmins);
if (api_is_platform_admin() || $sessionAdminCanLoginAs) {
if (!$user_is_anonymous) {
if (api_global_admin_can_edit_admin($user_id)) {
$result .= '<a href="user_list.php?action=login_as&user_id='.$user_id.'&sec_token='.Security::getTokenFromSession().'">'.

@ -8261,7 +8261,15 @@ function api_can_login_as($loginAsUserId, $userId = null)
return false;
};
return api_is_platform_admin() || (api_is_session_admin() && $userInfo['status'] == 5) || $isDrh();
$loginAsStatusForSessionAdmins = [STUDENT];
if (api_get_configuration_value('allow_session_admin_login_as_teacher')) {
$loginAsStatusForSessionAdmins[] = COURSEMANAGER;
}
return api_is_platform_admin() ||
(api_is_session_admin() && in_array($userInfo['status'], $loginAsStatusForSessionAdmins)) ||
$isDrh();
}
/**

@ -879,6 +879,45 @@ VALUES (2, 13, 'session_courses_read_only_mode', 'Lock Course In Session', 1, 1,
// Activate the view with ViewerJS for PDF files within the lessons for IPad and IPhone
// $_configuration['allow_pdf_viewerjs_in_lp'] = false;
// Allow DRH user to access all visible session course announcements
// $_configuration['allow_drh_access_announcement'] = false;
// Allow my personal files link in the homepage
// $_configuration['allow_my_files_link_in_homepage'] = false;
// This option sets default parameters in the main/session/session_import.php
/*$_configuration['session_import_settings'] = [
'options' => [
'session_exists_default_option' => '1',
'send_mail_default_option' => '1',
]
];*/
// This option sets default parameters in the main/admin/user_import.php
/*$_configuration['user_import_settings'] = [
'options' => [
'send_mail_default_option' => '1',
]
];*/
// Disable all new exercise attempts in all the platform
// $_configuration['exercises_disable_new_attempts'] = false;
// Improve speed when rendering gradebook student reports using Doctrine APCU cache
// $_configuration['gradebook_use_apcu_cache'] = true;
// Add collapsable option for user course categories
// ALTER TABLE user_course_category ADD collapsed TINYINT(1) DEFAULT NULL;
// $_configuration['allow_user_course_category_collapsable'] = false;
// Add collapsable option when showing the course list inside a session in userportal.php
// ALTER TABLE session_rel_user ADD collapsed TINYINT(1) DEFAULT NULL;
// Create a new session extra field called "collapsed" (checkbox yes/no - option)
// $_configuration['allow_user_session_collapsable'] = false;
// Allow to session admins login as teachers
//$_configuration['allow_session_admin_login_as_teacher'] = false;
// ------ Custom DB changes (keep this at the end)
// Add user activation by confirmation email
// This option prevents the new user to login in the platform if your account is not confirmed via email

Loading…
Cancel
Save