Remove SessionManager::user_is_general_coach function

pull/3995/head
Angel Fernando Quiroz Campos 4 years ago
parent 25cdaadf21
commit 68c2efbbb0
  1. 22
      public/main/inc/lib/sessionmanager.lib.php
  2. 2
      public/main/inc/lib/tracking.lib.php
  3. 2
      public/main/inc/lib/usermanager.lib.php
  4. 38
      public/main/mySpace/course.php
  5. 37
      public/main/session/index.php
  6. 1
      src/CoreBundle/Repository/SysAnnouncementRepository.php

@ -4585,28 +4585,6 @@ class SessionManager
return $sid;
}
/**
* @param int $user_id
* @param int $session_id
*
* @return bool
*/
public static function user_is_general_coach($user_id, $session_id)
{
$session_id = (int) $session_id;
$user_id = (int) $user_id;
$table = Database::get_main_table(TABLE_MAIN_SESSION);
$sql = "SELECT DISTINCT id
FROM $table
WHERE session.id_coach = '".$user_id."' AND id = '$session_id'";
$result = Database::query($sql);
if ($result && Database::num_rows($result)) {
return true;
}
return false;
}
/**
* Get the number of sessions.
*

@ -6885,7 +6885,7 @@ class Tracking
{
return
api_is_platform_admin(true, true) ||
SessionManager::user_is_general_coach(api_get_user_id(), $sessionId) ||
api_get_session_entity($sessionId)->hasUserAsGeneralCoach(api_get_user_entity()) ||
api_is_allowed_to_create_course() ||
api_is_course_tutor() ||
api_is_course_admin();

@ -2653,7 +2653,7 @@ class UserManager
}
} else {
// Current user portal
$isGeneralCoach = SessionManager::user_is_general_coach($user_id, $row['id']);
$isGeneralCoach = api_get_session_entity($row['id'])->hasUserAsGeneralCoach(api_get_user_entity($user_id));
$isCoachOfCourse = in_array($user_id, $coachList);
if (api_is_platform_admin() || $isGeneralCoach || $isCoachOfCourse) {

@ -20,6 +20,8 @@ if (!$allowToTrack) {
api_not_allowed(true);
}
$session = api_get_session_entity($sessionId);
$interbreadcrumb[] = ["url" => "index.php", "name" => get_lang('Reporting')];
if (isset($_GET["id_session"]) && "" != $_GET["id_session"]) {
@ -49,11 +51,7 @@ function count_courses()
$showImportIcon = false;
if ('true' == api_get_setting('add_users_by_coach')) {
if (!api_is_platform_admin()) {
$isGeneralCoach = SessionManager::user_is_general_coach(
api_get_user_id(),
$sessionId
);
if ($isGeneralCoach) {
if ($session && $session->hasUserAsGeneralCoach(api_get_user_entity())) {
$showImportIcon = true;
}
}
@ -155,13 +153,13 @@ if ($showImportIcon) {
function get_count_courses()
{
$userId = api_get_user_id();
$sessionId = isset($_GET['session_id']) ? intval($_GET['session_id']) : null;
$session = api_get_session_entity($_GET['session_id'] ?? 0);
$keyword = isset($_GET['keyword']) ? $_GET['keyword'] : null;
$drhLoaded = false;
if (api_is_drh()) {
if (api_drh_can_access_all_session_content()) {
if (empty($sessionId)) {
if (null === $session) {
$count = SessionManager::getAllCoursesFollowedByUser(
$userId,
null,
@ -174,7 +172,7 @@ function get_count_courses()
);
} else {
$count = SessionManager::getCourseCountBySessionId(
$sessionId,
$session->getId(),
$keyword
);
}
@ -183,13 +181,8 @@ function get_count_courses()
}
if (false == $drhLoaded) {
$isGeneralCoach = SessionManager::user_is_general_coach(
api_get_user_id(),
$sessionId
);
if ($isGeneralCoach) {
$courseList = SessionManager::getCoursesInSession($sessionId);
if ($session && $session->hasUserAsGeneralCoach(api_get_user_entity())) {
$courseList = SessionManager::getCoursesInSession($session->getId());
$count = count($courseList);
} else {
$count = CourseManager::getCoursesFollowedByUser(
@ -201,7 +194,7 @@ function get_count_courses()
null,
true,
$keyword,
$sessionId
(int) $session?->getId()
);
}
}
@ -221,6 +214,7 @@ function get_courses($from, $limit, $column, $direction)
{
$userId = api_get_user_id();
$sessionId = isset($_GET['session_id']) ? intval($_GET['session_id']) : 0;
$session = api_get_session_entity($_GET['session_id'] ?? 0);
$keyword = isset($_GET['keyword']) ? $_GET['keyword'] : null;
$follow = isset($_GET['follow']) ? true : false;
$drhLoaded = false;
@ -241,14 +235,9 @@ function get_courses($from, $limit, $column, $direction)
}
if (false == $drhLoaded) {
$isGeneralCoach = SessionManager::user_is_general_coach(
api_get_user_id(),
$sessionId
);
// General coach can see all reports
if ($isGeneralCoach) {
$courseList = SessionManager::getCoursesInSession($sessionId);
if ($session && $session->hasUserAsGeneralCoach(api_get_user_entity())) {
$courseList = SessionManager::getCoursesInSession($session->getId());
$courses = [];
if (!empty($courseList)) {
foreach ($courseList as $courseId) {
@ -273,14 +262,13 @@ function get_courses($from, $limit, $column, $direction)
$courseList = [];
if (!empty($courses)) {
$session = api_get_session_entity($sessionId);
foreach ($courses as $data) {
$courseCode = $data['code'];
$courseId = $data['real_id'];
$courseInfo = api_get_course_info($courseCode);
$course = api_get_course_entity($courseId);
if (empty($sessionId)) {
if (null === $session) {
$userList = CourseManager::get_user_list_from_course_code($data['code']);
} else {
$userList = CourseManager::get_user_list_from_course_code(

@ -40,22 +40,21 @@ Session::erase('objExercise');
Session::erase('duration_time_previous');
Session::erase('duration_time');
$userId = api_get_user_id();
$session_info = SessionManager::fetch($session_id);
$user = api_get_user_entity();
$session = api_get_session_entity($session_id);
$session_list = SessionManager::get_sessions_by_general_coach(api_get_user_id());
$courseList = SessionManager::get_course_list_by_session_id($session_id);
$userIsGeneralCoach = SessionManager::user_is_general_coach($userId, $session_id);
$user_course_list = [];
$exerciseListPerCourse = [];
foreach ($courseList as $course) {
$status = SessionManager::get_user_status_in_course_session(
$userId,
$user->getId(),
$course['real_id'],
$session_id
);
if (false !== $status || api_is_platform_admin() || $userIsGeneralCoach) {
if (false !== $status || api_is_platform_admin() || $session->hasUserAsGeneralCoach($user)) {
$user_course_list[] = $course['real_id'];
}
@ -190,7 +189,6 @@ if (false == api_is_coach_of_course_in_session($session_id)) {
}
$entityManager = Database::getManager();
$session = api_get_session_entity($session_id);
$sessionTitleLink = api_get_configuration_value('courses_list_session_title_link');
if (2 == $sessionTitleLink && 1 === $session->getNbrCourses()) {
@ -277,7 +275,7 @@ if (!empty($courseList)) {
}
$exerciseResultInfo = Event::getExerciseResultsByUser(
$userId,
$user->getId(),
$exerciseId,
$courseId,
$session_id
@ -371,21 +369,10 @@ if (!empty($new_exercises)) {
$my_real_array = array_merge($new_exercises, $my_real_array);
}
$start = $end = $start_only = $end_only = '';
if (!empty($session_info['access_start_date'])) {
$start = api_convert_and_format_date($session_info['access_start_date'], DATE_FORMAT_SHORT);
$start_only = get_lang('From').' '.$session_info['access_start_date'];
}
if (!empty($session_info['access_start_date'])) {
$end = api_convert_and_format_date($session_info['access_end_date'], DATE_FORMAT_SHORT);
$end_only = get_lang('Until').' '.$session_info['access_end_date'];
}
if (!empty($start) && !empty($end)) {
$dates = Display::tag('i', sprintf(get_lang('From %s to %s'), $start, $end));
if ($session->getDuration() > 0) {
$dates = sprintf(get_lang("%s days"), $session->getDuration());
} else {
$dates = Display::tag('i', $start_only.' '.$end_only);
$dates = SessionManager::parseSessionDates($session)['access'];
}
$editLink = '';
@ -396,16 +383,16 @@ if (api_is_platform_admin()) {
);
}
echo Display::tag('h1', $session_info['name'].$editLink);
echo $dates.'<br />';
echo Display::tag('h1', $session->getName().$editLink);
echo Display::tag('i', $dates);
$allow = 'true' === api_get_setting('show_session_description');
if (1 == $session_info['show_description'] && $allow) {
if ($session->getShowDescription() && $allow) {
?>
<div class="home-course-intro">
<div class="page-course">
<div class="page-course-intro">
<p><?php echo $session_info['description']; ?></p>
<p><?php echo $session->getDescription(); ?></p>
</div>
</div>
</div>

@ -108,7 +108,6 @@ class SysAnnouncementRepository extends ServiceEntityRepository
if ($this->security->isGranted('ROLE_TEACHER') &&
$session->hasUserAsGeneralCoach($user)
//SessionManager::user_is_general_coach($userId, $sessionId)
) {
$show = true;

Loading…
Cancel
Save