Session: Check access to session for coaches - refs BT#21085

pull/4914/head
christian 2 years ago
parent 5197363f78
commit e0192bfaee
  1. 11
      src/CoreBundle/Security/Authorization/Voter/CourseVoter.php
  2. 2
      src/CoreBundle/Security/Authorization/Voter/SessionVoter.php

@ -130,16 +130,9 @@ class CourseVoter extends Voter
// Validation in session
if ($session) {
$currentCourse = $session->getCurrentCourse();
$userIsGeneralCoach = $session->hasUserAsGeneralCoach($user);
if (null === $currentCourse) {
$userIsStudent = $session->getSessionRelCourseByUser($user, Session::STUDENT)->count() > 0;
$userIsCourseCoach = false;
} else {
$userIsCourseCoach = $session->hasCourseCoachInCourse($user, $currentCourse);
$userIsStudent = $session->hasUserInCourse($user, $currentCourse, Session::STUDENT);
}
$userIsCourseCoach = $session->hasCourseCoachInCourse($user, $course);
$userIsStudent = $session->hasUserInCourse($user, $course, Session::STUDENT);
if ($userIsGeneralCoach) {
$user->addRole(ResourceNodeVoter::ROLE_CURRENT_COURSE_SESSION_TEACHER);

@ -80,7 +80,7 @@ class SessionVoter extends Voter
$userIsGeneralCoach = $session->hasUserAsGeneralCoach($user);
if (null === $currentCourse) {
$userIsStudent = $session->getSessionRelCourseByUser($user, Session::STUDENT)->count() > 0;
$userIsCourseCoach = false;
$userIsCourseCoach = $session->hasCoachInCourseList($user); // The current course will be checked in CourseVoter.
} else {
$userIsCourseCoach = $session->hasCourseCoachInCourse($user, $currentCourse);
$userIsStudent = $session->hasUserInCourse($user, $currentCourse, Session::STUDENT);

Loading…
Cancel
Save