Session: Fix subscription users to new course in session - refs BT#21644

pull/5500/head
christianbeeznst 1 year ago
parent 29ac1aa991
commit f8ed5cc10c
  1. 15
      public/main/inc/lib/sessionmanager.lib.php

@ -2893,7 +2893,7 @@ class SessionManager
// 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
self::insertUsersInCourse( self::insertUsersInCourse(
array_column($user_list, 'id'), array_column($user_list, 'user_id'),
$courseId, $courseId,
$sessionId, $sessionId,
['visibility' => $sessionVisibility], ['visibility' => $sessionVisibility],
@ -9840,6 +9840,9 @@ class SessionManager
} }
} }
/**
* @throws \Doctrine\ORM\Exception\ORMException
*/
public static function insertUsersInCourse( public static function insertUsersInCourse(
array $studentIds, array $studentIds,
int $courseId, int $courseId,
@ -9856,20 +9859,12 @@ class SessionManager
foreach ($studentIds as $studentId) { foreach ($studentIds as $studentId) {
$user = api_get_user_entity($studentId); $user = api_get_user_entity($studentId);
if (!$session->hasUserInCourse($user, $course)) {
$session->addUserInCourse($relationInfo['status'], $user, $course) $session->addUserInCourse($relationInfo['status'], $user, $course)
->setVisibility($relationInfo['visibility']); ->setVisibility($relationInfo['visibility']);
Event::logUserSubscribedInCourseSession($user, $course, $session); Event::logUserSubscribedInCourseSession($user, $course, $session);
}
$subscription = new SessionRelUser();
$subscription->setUser($user);
$subscription->setSession($session);
$subscription->setRelationType(Session::STUDENT);
if ($updateSession && !$session->hasUser($subscription)) { if ($updateSession) {
$session->addUserInSession(Session::STUDENT, $user); $session->addUserInSession(Session::STUDENT, $user);
} }
} }

Loading…
Cancel
Save