Fix session creation

pull/3272/head
Julio Montoya 5 years ago
parent 148466e57e
commit 030eb8b84c
  1. 8
      public/main/inc/ajax/session.ajax.php
  2. 7
      public/main/inc/lib/api.lib.php
  3. 6
      public/main/inc/lib/sessionmanager.lib.php
  4. 2
      public/main/session/resume_session.php
  5. 4
      public/main/session/session_course_user.php
  6. 2
      src/CoreBundle/Security/Authorization/Voter/SessionVoter.php

@ -253,13 +253,13 @@ switch ($action) {
$em = Database::getManager();
$course = $em->find('ChamiloCoreBundle:Course', $courseId);
$session = $em->find('ChamiloCoreBundle:Session', $sessionId);
$session = api_get_session_entity($sessionId);
if (!$course || !$session) {
break;
}
if (!api_is_platform_admin(true) || $session->getSessionAdminId() != $currentUserId) {
if (!api_is_platform_admin(true) || $session->getSessionAdmin()->getId() != $currentUserId) {
break;
}
@ -388,14 +388,14 @@ switch ($action) {
$em = Database::getManager();
$courseInfo = api_get_course_info_by_id($courseId);
$session = $em->find('ChamiloCoreBundle:Session', $sessionId);
$session = api_get_session_entity($sessionId);
$currentUserId = api_get_user_id();
if (empty($courseInfo) || !$session) {
break;
}
if (!api_is_platform_admin(true) || $session->getSessionAdminId() != $currentUserId) {
if (!api_is_platform_admin(true) || $session->getSessionAdmin()->getId() != $currentUserId) {
break;
}

@ -3851,12 +3851,7 @@ function api_not_allowed(
$message = null,
$responseCode = 0
) {
/*throw new Exception('You are not allowed');
$message = empty($message) ? get_lang('You are not allowed') : $message;
Session::write('error_message', $message);
header('Location: '.api_get_path(WEB_PUBLIC_PATH).'error');
exit;*/
throw new Exception('You are not allowed');
}
/**

@ -9285,7 +9285,7 @@ class SessionManager
*/
public static function getCountUsersInCourseSession(Course $course, Session $session)
{
$urlId = api_get_current_access_url_id();
$url = api_get_url_entity(api_get_current_access_url_id());
return Database::getManager()
->createQuery("
@ -9300,13 +9300,13 @@ class SessionManager
scu.course = :course AND
su.relationType <> :relationType AND
scu.session = :session AND
a.portal = :url
a.url = :url
")
->setParameters([
'course' => $course->getId(),
'relationType' => SESSION_RELATION_TYPE_RRHH,
'session' => $session->getId(),
'url' => $urlId,
'url' => $url,
])
->getSingleScalarResult();
}

@ -410,7 +410,7 @@ $tpl = new Template($tool_name);
$tpl->assign('session_header', $sessionHeader);
$tpl->assign('title', $sessionTitle);
$tpl->assign('general_coach', $generalCoach);
$tpl->assign('session_admin', api_get_user_info($session->getSessionAdminId()));
$tpl->assign('session_admin', api_get_user_info($session->getSessionAdmin()->getId()));
$tpl->assign('session', $sessionInfo);
$tpl->assign('programmed_announcement', $programmedAnnouncement);
$tpl->assign('session_category', is_null($sessionCategory) ? null : $sessionCategory->getName());

@ -19,10 +19,10 @@ $id_user = intval($_GET['id_user']);
$em = Database::getManager();
/** @var Session $session */
$session = $em->find('ChamiloCoreBundle:Session', $id_session);
$session = api_get_session_entity( $id_session);
$user = api_get_user_entity($id_user);
if (!api_is_platform_admin() && $session->getSessionAdminId() != api_get_user_id()) {
if (!api_is_platform_admin() && $session->getSessionAdmin()->getId() != api_get_user_id()) {
api_not_allowed(true);
}

@ -280,7 +280,7 @@ class SessionVoter extends Voter
if ($authChecker->isGranted('ROLE_SESSION_MANAGER') &&
'true' !== $settingsManager->getSetting('session.allow_session_admins_to_manage_all_sessions')
) {
if ($session->getSessionAdminId() !== $user->getId()) {
if ($session->getSessionAdmin()->getId() !== $user->getId()) {
return false;
}
}

Loading…
Cancel
Save