From 4ad53929b4b0919e0b796721c2a4f2f4b3412360 Mon Sep 17 00:00:00 2001 From: NicoDucou Date: Thu, 30 May 2024 12:32:34 +0200 Subject: [PATCH] Exercise: fix pending exercise search to show correct attemps depending on the configuration and the type of user - refs BT#21482 --- main/inc/ajax/model.ajax.php | 6 ++++-- main/inc/lib/exercise.lib.php | 31 +++++++++++++++++++++---------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/main/inc/ajax/model.ajax.php b/main/inc/ajax/model.ajax.php index 19305b5eaf..6b84f9b8db 100755 --- a/main/inc/ajax/model.ajax.php +++ b/main/inc/ajax/model.ajax.php @@ -687,7 +687,8 @@ switch ($action) { true, $status, $showAttemptsInSessions, - $questionType + $questionType, + true ); break; @@ -1625,7 +1626,8 @@ switch ($action) { true, $status, $showAttemptsInSessions, - $questionType + $questionType, + true ); break; diff --git a/main/inc/lib/exercise.lib.php b/main/inc/lib/exercise.lib.php index 520c4d482d..7d123cc719 100644 --- a/main/inc/lib/exercise.lib.php +++ b/main/inc/lib/exercise.lib.php @@ -2228,7 +2228,8 @@ HOTSPOT; $searchAllTeacherCourses = false, $status = 0, $showAttemptsInSessions = false, - $questionType = 0 + $questionType = 0, + $originPending = false ) { return self::get_exam_results_data( null, @@ -2248,7 +2249,8 @@ HOTSPOT; $searchAllTeacherCourses, $status, $showAttemptsInSessions, - $questionType + $questionType, + $originPending ); } @@ -2537,7 +2539,8 @@ HOTSPOT; $searchAllTeacherCourses = false, $status = 0, $showAttemptsInSessions = false, - $questionType = 0 + $questionType = 0, + $originPending = false ) { //@todo replace all this globals global $filter; @@ -2636,13 +2639,6 @@ HOTSPOT; $sessionCondition = " AND ttte.session_id = 0"; } - if (empty($sessionId) && - api_get_configuration_value('show_exercise_session_attempts_in_base_course') - ) { - $session_id_and = ''; - $sessionCondition = ''; - } - if ($showAttemptsInSessions) { $sessions = SessionManager::get_sessions_by_general_coach(api_get_user_id()); if (!empty($sessions)) { @@ -2652,9 +2648,24 @@ HOTSPOT; } $session_id_and = " AND te.session_id IN(".implode(',', $sessionIds).")"; $sessionCondition = " AND ttte.session_id IN(".implode(',', $sessionIds).")"; + } elseif (empty($sessionId) && + api_get_configuration_value('show_exercise_session_attempts_in_base_course') + ) { + $session_id_and = ''; + $sessionCondition = ''; } else { return false; } + } elseif (empty($sessionId) && + api_get_configuration_value('show_exercise_session_attempts_in_base_course') + ) { + $session_id_and = ''; + $sessionCondition = ''; + } + + if (api_is_platform_admin() && $originPending) { + $session_id_and = ''; + $sessionCondition = ''; } $exercise_where = '';