|
|
|
@ -84,22 +84,26 @@ class SessionVoter extends Voter |
|
|
|
$userIsStudent = $session->hasUserInCourse($user, $currentCourse, Session::STUDENT); |
|
|
|
$userIsStudent = $session->hasUserInCourse($user, $currentCourse, Session::STUDENT); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if ($userIsGeneralCoach) { |
|
|
|
$visibilityForUser = $session->setAccessVisibilityByUser($user); |
|
|
|
$user->addRole(ResourceNodeVoter::ROLE_CURRENT_COURSE_SESSION_TEACHER); |
|
|
|
|
|
|
|
} elseif ($userIsCourseCoach) { // Course-Coach access. |
|
|
|
if ($userIsStudent && Session::LIST_ONLY == $visibilityForUser) { |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($userIsGeneralCoach || $userIsCourseCoach) { |
|
|
|
$user->addRole(ResourceNodeVoter::ROLE_CURRENT_COURSE_SESSION_TEACHER); |
|
|
|
$user->addRole(ResourceNodeVoter::ROLE_CURRENT_COURSE_SESSION_TEACHER); |
|
|
|
} elseif ($userIsStudent) { // Student access. |
|
|
|
} elseif ($userIsStudent) { // Student access. |
|
|
|
$user->addRole(ResourceNodeVoter::ROLE_CURRENT_COURSE_SESSION_STUDENT); |
|
|
|
$user->addRole(ResourceNodeVoter::ROLE_CURRENT_COURSE_SESSION_STUDENT); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (\in_array( |
|
|
|
if ( |
|
|
|
$session->setAccessVisibilityByUser($user), |
|
|
|
($userIsGeneralCoach || $userIsCourseCoach || $userIsStudent) |
|
|
|
[Session::INVISIBLE, Session::LIST_ONLY] |
|
|
|
&& $visibilityForUser != Session::INVISIBLE |
|
|
|
)) { |
|
|
|
) { |
|
|
|
return false; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
case self::EDIT: |
|
|
|
case self::EDIT: |
|
|
|
case self::DELETE: |
|
|
|
case self::DELETE: |
|
|
|
|