From bf0313a479b4d5290ae7951f02e889041e660a11 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Tue, 17 Dec 2013 22:44:23 +0100 Subject: [PATCH] Adding $updateCourseCoaches in the session import default false see BT#7116 --- main/admin/session_import.php | 14 +++++++-- main/inc/lib/sessionmanager.lib.php | 44 ++++++++++++++++++----------- 2 files changed, 38 insertions(+), 20 deletions(-) diff --git a/main/admin/session_import.php b/main/admin/session_import.php index 7cf8e1dcfe..49a2e56e5b 100644 --- a/main/admin/session_import.php +++ b/main/admin/session_import.php @@ -49,7 +49,7 @@ if ($_POST['formSent']) { $form_sent = $_POST['formSent']; $file_type = $_POST['file_type']; $send_mail = $_POST['sendMail'] ? 1 : 0; - $isOverwrite = $_POST['overwrite'] ? 1 : 0; + $isOverwrite = $_POST['overwrite'] ? true: false; $deleteUsersNotInList = isset($_POST['delete_users_not_in_list']) ? true : false; $sessions = array(); @@ -443,7 +443,7 @@ if ($_POST['formSent']) { } } else { - // Tthe course does not exist. + // The course does not exist. $error_message .= get_lang('CourseDoesNotExist').' : '.$course_code.'
'; } } @@ -459,6 +459,7 @@ if ($_POST['formSent']) { } } else { // CSV + $updateCourseCoaches = isset($_POST['update_course_coaches']) ? true : false; $result = SessionManager::importCSV( $_FILES['import_file']['tmp_name'], $isOverwrite, @@ -470,9 +471,12 @@ if ($_POST['formSent']) { null, 1, array(), - $deleteUsersNotInList + $deleteUsersNotInList, + $updateCourseCoaches ); + $sessionList = $result['session_list']; $error_message = $result['error_message']; + $session_counter = $result['session_counter']; } @@ -488,6 +492,9 @@ if ($_POST['formSent']) { $warn = substr($warn, 0, -1); } if ($session_counter == 1) { + if ($file_type == 'csv') { + $session_id = current($sessionList); + } header('Location: resume_session.php?id_session='.$session_id.'&warn='.urlencode($warn)); exit; } else { @@ -527,6 +534,7 @@ $form->addElement('radio', 'file_type', array(null, ' $value) { @@ -2800,7 +2804,6 @@ class SessionManager if (isset($extraFields) && !empty($extraFields)) { $sessionId = self::get_session_id_from_original_id($enreg['extra_'.$extraFieldId], $extraFieldId); - if (empty($sessionId)) { $my_session_result = false; } else { @@ -2809,7 +2812,6 @@ class SessionManager } else { $my_session_result = self::get_session_by_name($enreg['SessionName']); } - if ($my_session_result === false) { // Creating a session. @@ -2884,13 +2886,22 @@ class SessionManager $sql = "DELETE FROM $tbl_session_course WHERE id_session = '$session_id'"; Database::query($sql); - // Delete session-course-user relation ships *only* for students - $sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status <> 2"; - Database::query($sql); + // Delete session-course-user relationships students and coaches. + if ($updateCourseCoaches) { + $sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status in ('0', '2')"; + Database::query($sql); + } else { + // Delete session-course-user relation ships *only* for students. + $sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status <> 2"; + Database::query($sql); + } + } $session_counter++; } + $sessionList[] = $session_id; + $users = explode('|', $enreg['Users']); // Adding the relationship "Session - User" for students @@ -2967,19 +2978,18 @@ class SessionManager $addTeachersToSession = $courseInfo['add_teachers_to_sessions_courses']; } - // If any coach/user provided for a course use the users array. - if (empty($course_coaches) && empty($course_users)) { + // If any user provided for a course, use the users array. + if (empty($course_users)) { if (!empty($userList)) { SessionManager::subscribe_users_to_session_course($userList, $session_id, $course_code); if ($debug) { $msg = "Sessions - Adding student list ".implode(', #', $userList)." to course: '$course_code' and session #$session_id"; - error_log($msg); $logger->addInfo($msg); } } } - // Adding coaches to session course user + // Adding coaches to session course user. if (!empty($course_coaches)) { $savedCoaches = array(); // only edit if add_teachers_to_sessions_courses is set. @@ -2996,7 +3006,6 @@ class SessionManager } foreach ($course_coaches as $course_coach) { - $course_coach = trim($course_coach); $coach_id = UserManager::get_user_id_from_username($course_coach); if ($coach_id !== false) { // Just insert new coaches @@ -3062,7 +3071,8 @@ class SessionManager } return array( 'error_message' => $error_message, - 'session_counter' => $session_counter + 'session_counter' => $session_counter, + 'session_list' => $sessionList ); }