Exercise: Fix show pending attempt to session admin and enable to search on all courses of the current URL - refs BT#21482

pull/5657/head
NicoDucou 1 year ago
parent c38dde9f46
commit e555b88c9c
  1. 5
      main/exercise/pending.php
  2. 2
      main/inc/ajax/model.ajax.php
  3. 6
      main/inc/lib/exercise.lib.php
  4. 2
      main/inc/lib/userportal.lib.php

@ -20,7 +20,7 @@ $action = $_REQUEST['a'] ?? null;
api_block_anonymous_users(); api_block_anonymous_users();
// Only teachers. // Only teachers.
if (false === api_is_teacher()) { if (false === api_is_teacher() && false === api_is_session_admin()) {
api_not_allowed(true); api_not_allowed(true);
} }
@ -60,7 +60,8 @@ if (!empty($_GET['path'])) {
if (!empty($_REQUEST['export_report']) && $_REQUEST['export_report'] == '1') { if (!empty($_REQUEST['export_report']) && $_REQUEST['export_report'] == '1') {
if (api_is_platform_admin() || api_is_course_admin() || if (api_is_platform_admin() || api_is_course_admin() ||
api_is_course_tutor() || api_is_session_general_coach() api_is_course_tutor() || api_is_session_general_coach() ||
api_is_session_admin()
) { ) {
$loadExtraData = false; $loadExtraData = false;
if (isset($_REQUEST['extra_data']) && $_REQUEST['extra_data'] == 1) { if (isset($_REQUEST['extra_data']) && $_REQUEST['extra_data'] == 1) {

@ -642,7 +642,7 @@ switch ($action) {
); );
break; break;
case 'get_exercise_pending_results': case 'get_exercise_pending_results':
if (false === api_is_teacher()) { if ((false === api_is_teacher()) && (false === api_is_session_admin())) {
exit; exit;
} }

@ -2601,11 +2601,11 @@ HOTSPOT;
} }
} }
if (false === $searchAllTeacherCourses) { if (false === $searchAllTeacherCourses && true === api_is_teacher()) {
if (empty($courseInfo)) { if (empty($courseInfo)) {
return []; return [];
} }
} else { } elseif (false === api_is_session_admin()) {
$courses = CourseManager::get_courses_list_by_user_id(api_get_user_id(), $showAttemptsInSessions, false, false); $courses = CourseManager::get_courses_list_by_user_id(api_get_user_id(), $showAttemptsInSessions, false, false);
if (empty($courses)) { if (empty($courses)) {
@ -2669,7 +2669,7 @@ HOTSPOT;
$sessionCondition = ""; $sessionCondition = "";
} }
if (api_is_platform_admin() && $originPending) { if ((api_is_platform_admin() || true === api_is_session_admin()) && $originPending) {
$session_id_and = " AND (te.session_id = 0 OR $te_access_url_session_filter)"; $session_id_and = " AND (te.session_id = 0 OR $te_access_url_session_filter)";
$sessionCondition = ""; $sessionCondition = "";
if (false !== $searchAllTeacherCourses) { if (false !== $searchAllTeacherCourses) {

@ -1151,7 +1151,7 @@ class IndexManager
]; ];
} }
if (api_is_teacher()) { if (api_is_teacher() || api_is_session_admin()) {
if (api_get_configuration_value('my_courses_show_pending_work')) { if (api_get_configuration_value('my_courses_show_pending_work')) {
$items[] = [ $items[] = [
'class' => 'list-pending-student-assignments', 'class' => 'list-pending-student-assignments',

Loading…
Cancel
Save