Fixing bug BT#1470 we only show content depending of the current access_url in the admin user list when adding courses, users, sessions

skala
Julio Montoya 15 years ago
parent 37198dd713
commit 2c68da3555
  1. 25
      main/admin/dashboard_add_courses_to_user.php
  2. 25
      main/admin/dashboard_add_sessions_to_user.php
  3. 34
      main/admin/dashboard_add_users_to_user.php

@ -19,6 +19,9 @@ require_once '../inc/lib/xajax/xajax.inc.php';
require_once api_get_path(LIBRARY_PATH).'course.lib.php';
require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php';
global $_configuration;
// create an ajax object
$xajax = new xajax();
$xajax -> registerFunction ('search_courses');
@ -36,6 +39,7 @@ $interbreadcrumb[] = array('url' => 'user_list.php','name' => get_lang('UserList
// Database Table Definitions
$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);
$tbl_course_rel_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$tbl_course_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
// initializing variables
$id_session=intval($_GET['id_session']);
@ -63,7 +67,7 @@ if (!api_is_platform_admin()) {
}
function search_courses($needle,$type) {
global $tbl_course, $tbl_course_rel_user, $user_id;
global $_configuration, $tbl_course, $tbl_course_rel_user, $tbl_course_rel_access_url,$user_id;
$xajax_response = new XajaxResponse();
$return = '';
@ -82,8 +86,15 @@ function search_courses($needle,$type) {
$without_assigned_courses = " AND c.code NOT IN(".implode(',',$assigned_courses_code).")";
}
$sql = "SELECT c.code, c.title FROM $tbl_course c
if ($_configuration['multiple_access_urls']) {
$sql = "SELECT c.code, c.title FROM $tbl_course c LEFT JOIN $tbl_course_rel_access_url a ON (a.course_code = c.code)
WHERE c.code LIKE '$needle%' $without_assigned_courses AND access_url_id = ".api_get_current_access_url_id()."";
} else {
$sql = "SELECT c.code, c.title FROM $tbl_course c
WHERE c.code LIKE '$needle%' $without_assigned_courses ";
}
$rs = Database::query($sql);
$return .= '<select id="origin" name="NoAssignedCoursesList[]" multiple="multiple" size="20" style="width:340px;">';
@ -193,8 +204,16 @@ if (isset($_POST['firstLetterCourse'])) {
$needle = "$needle%";
}
$sql = " SELECT c.code, c.title FROM $tbl_course c
if ($_configuration['multiple_access_urls']) {
$sql = " SELECT c.code, c.title FROM $tbl_course c LEFT JOIN $tbl_course_rel_access_url a ON (a.course_code = c.code)
WHERE c.code LIKE '$needle' $without_assigned_courses AND access_url_id = ".api_get_current_access_url_id()."";
} else {
$sql = " SELECT c.code, c.title FROM $tbl_course c
WHERE c.code LIKE '$needle' $without_assigned_courses ";
}
$result = Database::query($sql);
?>

@ -19,6 +19,8 @@ require_once api_get_path(LIBRARY_PATH).'xajax/xajax.inc.php';
require_once api_get_path(LIBRARY_PATH).'sessionmanager.lib.php';
require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php';
global $_configuration;
// create an ajax object
$xajax = new xajax();
$xajax->registerFunction('search_sessions');
@ -36,6 +38,7 @@ $interbreadcrumb[] = array('url' => 'user_list.php','name' => get_lang('UserList
// Database Table Definitions
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$tbl_session_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
// initializing variables
$id_session=intval($_GET['id_session']);
@ -63,7 +66,7 @@ if (!api_is_platform_admin() && !api_is_session_admin()) {
}
function search_sessions($needle,$type) {
global $tbl_session, $user_id;
global $_configuration, $tbl_session_rel_access_url, $tbl_session, $user_id;
$xajax_response = new XajaxResponse();
$return = '';
@ -79,8 +82,14 @@ function search_sessions($needle,$type) {
$without_assigned_sessions = " AND s.id NOT IN(".implode(',',$assigned_sessions_id).")";
}
$sql = "SELECT s.id, s.name FROM $tbl_session s
WHERE s.name LIKE '$needle%' $without_assigned_sessions ";
if ($_configuration['multiple_access_urls']) {
$sql = " SELECT s.id, s.name FROM $tbl_session s LEFT JOIN $tbl_session_rel_access_url a ON (s.id = a.session_id)
WHERE s.name LIKE '$needle%' $without_assigned_sessions AND access_url_id = ".api_get_current_access_url_id()."";
} else {
$sql = "SELECT s.id, s.name FROM $tbl_session s
WHERE s.name LIKE '$needle%' $without_assigned_sessions ";
}
$rs = Database::query($sql);
$return .= '<select id="origin" name="NoAssignedSessionsList[]" multiple="multiple" size="20" style="width:340px;">';
@ -192,8 +201,14 @@ if (isset($_POST['firstLetterSession'])) {
$needle = "$needle%";
}
$sql = " SELECT s.id, s.name FROM $tbl_session s
WHERE s.name LIKE '$needle%' $without_assigned_sessions ";
if ($_configuration['multiple_access_urls']) {
$sql = " SELECT s.id, s.name FROM $tbl_session s LEFT JOIN $tbl_session_rel_access_url a ON (s.id = a.session_id)
WHERE s.name LIKE '$needle%' $without_assigned_sessions AND access_url_id = ".api_get_current_access_url_id()."";
} else {
$sql = " SELECT s.id, s.name FROM $tbl_session s
WHERE s.name LIKE '$needle%' $without_assigned_sessions ";
}
$result = Database::query($sql);
?>
<form name="formulaire" method="post" action="<?php echo api_get_self(); ?>?user=<?php echo $user_id ?>" style="margin:0px;" <?php if($ajax_search){echo ' onsubmit="valide();"';}?>>

@ -18,6 +18,9 @@ require_once '../inc/global.inc.php';
require_once '../inc/lib/xajax/xajax.inc.php';
require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php';
global $_configuration;
// create an ajax object
$xajax = new xajax();
$xajax -> registerFunction ('search_users');
@ -34,6 +37,7 @@ $interbreadcrumb[] = array('url' => 'user_list.php','name' => get_lang('UserList
// Database Table Definitions
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$tbl_access_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
// initializing variables
$id_session=intval($_GET['id_session']);
@ -61,7 +65,7 @@ if (!api_is_platform_admin()) {
}
function search_users($needle,$type) {
global $tbl_user, $user_anonymous, $current_user_id, $user_id;
global $_configuration,$tbl_access_url_rel_user, $tbl_user, $user_anonymous, $current_user_id, $user_id;
$xajax_response = new XajaxResponse();
$return = '';
@ -73,12 +77,21 @@ function search_users($needle,$type) {
$assigned_users_to_hrm = UserManager::get_users_followed_by_drh($user_id);
$assigned_users_id = array_keys($assigned_users_to_hrm);
$without_assigned_users = '';
if (count($assigned_users_id) > 0) {
$without_assigned_users = " AND user_id NOT IN(".implode(',',$assigned_users_id).")";
}
if ($_configuration['multiple_access_urls']) {
$sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user LEFT JOIN $tbl_access_url_rel_user au ON (au.user_id = user.user_id)
WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND status NOT IN(".DRH.", ".SESSIONADMIN.") AND user.user_id NOT IN ($user_anonymous, $current_user_id, $user_id) $without_assigned_users AND access_url_id = ".api_get_current_access_url_id()."";
} else {
$sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user
WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND status NOT IN(".DRH.", ".SESSIONADMIN.") AND user_id NOT IN ($user_anonymous, $current_user_id, $user_id) $without_assigned_users";
}
$sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user
WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND status NOT IN(".DRH.", ".SESSIONADMIN.") AND user_id NOT IN ($user_anonymous, $current_user_id, $user_id) $without_assigned_users";
$rs = Database::query($sql);
$return .= '<select id="origin" name="NoAssignedUsersList[]" multiple="multiple" size="20" style="width:340px;">';
@ -176,7 +189,7 @@ $assigned_users_to_hrm = UserManager::get_users_followed_by_drh($user_id);
$assigned_users_id = array_keys($assigned_users_to_hrm);
$without_assigned_users = '';
if (count($assigned_users_id) > 0) {
$without_assigned_users = " user_id NOT IN(".implode(',',$assigned_users_id).") AND ";
$without_assigned_users = " user.user_id NOT IN(".implode(',',$assigned_users_id).") AND ";
}
$search_user = '';
@ -185,8 +198,15 @@ if (isset($_POST['firstLetterUser'])) {
$search_user ="AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%'";
}
$sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user
WHERE $without_assigned_users user_id NOT IN ($user_anonymous, $current_user_id, $user_id) AND status NOT IN(".DRH.", ".SESSIONADMIN.") $search_user ";
if ($_configuration['multiple_access_urls']) {
$sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user LEFT JOIN $tbl_access_url_rel_user au ON (au.user_id = user.user_id)
WHERE $without_assigned_users user.user_id NOT IN ($user_anonymous, $current_user_id, $user_id) AND status NOT IN(".DRH.", ".SESSIONADMIN.") $search_user AND access_url_id = ".api_get_current_access_url_id()."";
} else {
$sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user
WHERE $without_assigned_users user_id NOT IN ($user_anonymous, $current_user_id, $user_id) AND status NOT IN(".DRH.", ".SESSIONADMIN.") $search_user ";
}
$result = Database::query($sql);
?>

Loading…
Cancel
Save