Add URL filter see BT#17247

pull/3213/head^2
Julio Montoya 6 years ago
parent 6d1f8378f2
commit 2bbfb2babe
  1. 8
      main/inc/lib/sessionmanager.lib.php
  2. 21
      main/session/session_course_user_list.php

@ -9257,6 +9257,8 @@ class SessionManager
*/
public static function getCountUsersInCourseSession(Course $course, Session $session)
{
$urlId = api_get_current_access_url_id();
return Database::getManager()
->createQuery("
SELECT COUNT(scu)
@ -9264,15 +9266,19 @@ class SessionManager
INNER JOIN ChamiloCoreBundle:SessionRelUser su
WITH scu.user = su.user
AND scu.session = su.session
INNER JOIN ChamiloCoreBundle:AccessUrlRelUser a
WITH a.user = su.user
WHERE
scu.course = :course AND
su.relationType <> :relationType AND
scu.session = :session
scu.session = :session AND
a.portal = :url
")
->setParameters([
'course' => $course->getId(),
'relationType' => SESSION_RELATION_TYPE_RRHH,
'session' => $session->getId(),
'url' => $urlId,
])
->getSingleScalarResult();
}

@ -83,19 +83,28 @@ switch ($action) {
$limit = 20;
$from = $page * $limit;
$is_western_name_order = api_is_western_name_order();
$urlTable = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$urlId = api_get_current_access_url_id();
$sql = "
SELECT DISTINCT u.user_id,"
.($is_western_name_order ? 'u.firstname, u.lastname' : 'u.lastname, u.firstname')
.", u.username, scru.user_id as is_subscribed
FROM $tbl_session_rel_user s
INNER JOIN $tbl_user u ON (u.user_id=s.user_id)
INNER JOIN $tbl_user u
ON (u.id = s.user_id)
INNER JOIN $urlTable url
ON (url.user_id = u.id)
LEFT JOIN $tbl_session_rel_course_rel_user scru
ON (s.session_id = scru.session_id AND s.user_id = scru.user_id AND scru.c_id = $courseId)
WHERE s.session_id = $id_session
WHERE
s.session_id = $id_session AND
url.access_url_id = $urlId
ORDER BY $sort $direction
LIMIT $from,".($limit + 1);
if ($direction == 'desc') {
if ($direction === 'desc') {
$direction = 'asc';
} else {
$direction = 'desc';
@ -103,9 +112,7 @@ if ($direction == 'desc') {
$result = Database::query($sql);
$users = Database::store_result($result);
$nbr_results = sizeof($users);
$nbr_results = count($users);
$tool_name = get_lang('Session').': '.$session_name.' - '.get_lang('Course').': '.$course_title;
$interbreadcrumb[] = ['url' => 'session_list.php', 'name' => get_lang('SessionList')];
@ -144,7 +151,7 @@ echo Display::page_header($tool_name);
?>
</div>
<br/>
<table class="data_table" width="100%">
<table class="table table-hover">
<tr>
<th>&nbsp;</th>
<?php if ($is_western_name_order) {

Loading…
Cancel
Save