Add new option to add course teachers as a coach see BT#15669

pull/2913/head
Julio Montoya 7 years ago
parent 5adc271a19
commit 733259044f
  1. 42
      main/inc/lib/sessionmanager.lib.php
  2. 8
      main/session/add_courses_to_session.php
  3. 2
      main/session/resume_session.php

@ -1852,7 +1852,9 @@ class SessionManager
$empty_users = true, $empty_users = true,
$registerUsersToAllCourses = true $registerUsersToAllCourses = true
) { ) {
if ($sessionId != strval(intval($sessionId))) { $sessionId = (int) $sessionId;
if (empty($sessionId)) {
return false; return false;
} }
@ -2470,6 +2472,7 @@ class SessionManager
* @param bool $removeExistingCoursesWithUsers Whether to unsubscribe * @param bool $removeExistingCoursesWithUsers Whether to unsubscribe
* existing courses and users (true, default) or not (false) * existing courses and users (true, default) or not (false)
* @param bool $copyEvaluation from base course to session course * @param bool $copyEvaluation from base course to session course
* @param bool $copyCourseTeachersAsCoach
* *
* @throws Exception * @throws Exception
* *
@ -2479,7 +2482,8 @@ class SessionManager
$sessionId, $sessionId,
$courseList, $courseList,
$removeExistingCoursesWithUsers = true, $removeExistingCoursesWithUsers = true,
$copyEvaluation = false $copyEvaluation = false,
$copyCourseTeachersAsCoach = false
) { ) {
$sessionId = (int) $sessionId; $sessionId = (int) $sessionId;
@ -2640,9 +2644,7 @@ class SessionManager
/** @var AbstractLink $link */ /** @var AbstractLink $link */
foreach ($links as $link) { foreach ($links as $link) {
//$newCategoryId = $newCategoryIdList[$link->get_category_id()]; //$newCategoryId = $newCategoryIdList[$link->get_category_id()];
$link->set_category_id( $link->set_category_id($sessionGradeBookCategoryId);
$sessionGradeBookCategoryId
);
$link->add(); $link->add();
} }
} }
@ -2658,9 +2660,7 @@ class SessionManager
/** @var Evaluation $evaluation */ /** @var Evaluation $evaluation */
foreach ($evaluationList as $evaluation) { foreach ($evaluationList as $evaluation) {
//$evaluationId = $newCategoryIdList[$evaluation->get_category_id()]; //$evaluationId = $newCategoryIdList[$evaluation->get_category_id()];
$evaluation->set_category_id( $evaluation->set_category_id($sessionGradeBookCategoryId);
$sessionGradeBookCategoryId
);
$evaluation->add(); $evaluation->add();
} }
} }
@ -2695,10 +2695,10 @@ class SessionManager
$existingCourses[] = ['c_id' => $courseId]; $existingCourses[] = ['c_id' => $courseId];
$nbr_courses++; $nbr_courses++;
// subscribe all the users from the session to this course inside the session // Subscribe all the users from the session to this course inside the session
$nbr_users = 0; $nbr_users = 0;
foreach ($user_list as $enreg_user) { foreach ($user_list as $enreg_user) {
$enreg_user_id = intval($enreg_user['user_id']); $enreg_user_id = (int) $enreg_user['user_id'];
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id, visibility) $sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id, visibility)
VALUES ($sessionId, $courseId, $enreg_user_id, $sessionVisibility)"; VALUES ($sessionId, $courseId, $enreg_user_id, $sessionVisibility)";
$result = Database::query($sql); $result = Database::query($sql);
@ -2722,11 +2722,23 @@ class SessionManager
WHERE session_id = $sessionId AND c_id = $courseId"; WHERE session_id = $sessionId AND c_id = $courseId";
Database::query($sql); Database::query($sql);
} }
if ($copyCourseTeachersAsCoach) {
$teachers = CourseManager::get_teacher_list_from_course_code($courseInfo['code']);
if (!empty($teachers)) {
foreach ($teachers as $teacher) {
self::updateCoaches(
$sessionId,
$courseId,
[$teacher['user_id']],
false
);
}
}
}
} }
$sql = "UPDATE $tbl_session $sql = "UPDATE $tbl_session SET nbr_courses = $nbr_courses WHERE id = $sessionId";
SET nbr_courses = $nbr_courses
WHERE id = $sessionId";
Database::query($sql); Database::query($sql);
return true; return true;
@ -2783,9 +2795,9 @@ class SessionManager
Database::query($sql); Database::query($sql);
return true; return true;
} else {
return false;
} }
return false;
} }
/** /**

@ -84,12 +84,14 @@ $courses = $sessions = [];
if (isset($_POST['formSent']) && $_POST['formSent']) { if (isset($_POST['formSent']) && $_POST['formSent']) {
$courseList = $_POST['SessionCoursesList']; $courseList = $_POST['SessionCoursesList'];
$copyEvaluation = isset($_POST['copy_evaluation']); $copyEvaluation = isset($_POST['copy_evaluation']);
$copyCourseTeachersAsCoach = isset($_POST['import_teachers_as_course_coach']);
SessionManager::add_courses_to_session( SessionManager::add_courses_to_session(
$sessionId, $sessionId,
$courseList, $courseList,
true, true,
$copyEvaluation $copyEvaluation,
$copyCourseTeachersAsCoach
); );
Display::addFlash(Display::return_message(get_lang('Updated'))); Display::addFlash(Display::return_message(get_lang('Updated')));
@ -288,6 +290,10 @@ unset($Courses);
<input type="checkbox" name="copy_evaluation"> <input type="checkbox" name="copy_evaluation">
<?php echo get_lang('ImportGradebookInCourse'); ?> <?php echo get_lang('ImportGradebookInCourse'); ?>
</label> </label>
<label>
<input type="checkbox" name="import_teachers_as_course_coach">
<?php echo get_lang('ImportCourseTeachersAsCourseCoach'); ?>
</label>
</div> </div>
<?php <?php
echo '<div class="separate-action">'; echo '<div class="separate-action">';

@ -118,6 +118,8 @@ switch ($action) {
$_GET['user'] $_GET['user']
); );
} }
Display::addFlash(Display::return_message(get_lang('Updated')));
break; break;
} }

Loading…
Cancel
Save