Adding official code see BT#7060

1.9.x
Julio Montoya 11 years ago
parent 9fed5ab518
commit 8621a62889
  1. 85
      main/admin/add_users_to_session.php
  2. 12
      main/admin/add_users_to_usergroup.php

@ -90,7 +90,7 @@ function search_users($needle, $type)
$id_session = intval($id_session);
// check id_user from session_rel_user table
$sql = 'SELECT id_user FROM '.$tbl_session_rel_user.'
WHERE id_session ="'.$id_session.'" AND relation_type<>'.SESSION_RELATION_TYPE_RRHH.' ';
WHERE id_session ="'.$id_session.'" AND relation_type<>'.SESSION_RELATION_TYPE_RRHH.' ';
$res = Database::query($sql);
$user_ids = array();
if (Database::num_rows($res) > 0) {
@ -106,20 +106,21 @@ function search_users($needle, $type)
switch ($type) {
case 'single':
// search users where username or firstname or lastname begins likes $needle
$sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user
$sql = 'SELECT user.user_id, username, lastname, firstname, official_code
FROM '.$tbl_user.' user
WHERE (username LIKE "'.$needle.'%" OR firstname LIKE "'.$needle.'%"
OR lastname LIKE "'.$needle.'%") AND user.status<>6 AND user.status<>'.DRH.''.
$order_clause.
' LIMIT 11';
break;
case 'multiple':
$sql = 'SELECT user.user_id, username, lastname, firstname
$sql = 'SELECT user.user_id, username, lastname, firstname, official_code
FROM '.$tbl_user.' user
WHERE '.(api_sort_by_first_name() ? 'firstname' : 'lastname').' LIKE "'.$needle.'%" AND user.status<>'.DRH.' AND user.status<>6 '.$cond_user_id.
$order_clause;
break;
case 'any_session':
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname, official_code
FROM '.$tbl_user.' user
LEFT OUTER JOIN '.$tbl_session_rel_user.' s ON (s.id_user = user.user_id)
WHERE s.id_user IS null AND user.status<>'.DRH.' AND
@ -134,7 +135,8 @@ function search_users($needle, $type)
if ($access_url_id != -1) {
switch($type) {
case 'single':
$sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user
$sql = 'SELECT user.user_id, username, lastname, firstname, official_code
FROM '.$tbl_user.' user
INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id)
WHERE access_url_id = '.$access_url_id.' AND (username LIKE "'.$needle.'%"
OR firstname LIKE "'.$needle.'%"
@ -143,7 +145,8 @@ function search_users($needle, $type)
' LIMIT 11';
break;
case 'multiple':
$sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user
$sql = 'SELECT user.user_id, username, lastname, firstname , official_code
FROM '.$tbl_user.' user
INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id)
WHERE access_url_id = '.$access_url_id.' AND
'.(api_sort_by_first_name() ? 'firstname' : 'lastname').' LIKE "'.$needle.'%" AND
@ -152,7 +155,7 @@ function search_users($needle, $type)
$order_clause;
break;
case 'any_session' :
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname, official_code
FROM '.$tbl_user.' user
LEFT OUTER JOIN '.$tbl_session_rel_user.' s ON (s.id_user = user.user_id)
INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id)
@ -173,8 +176,8 @@ function search_users($needle, $type)
while ($user = Database :: fetch_array($rs)) {
$i++;
if ($i<=10) {
$person_name = api_get_person_name($user['firstname'], $user['lastname']);
$return .= '<a href="javascript: void(0);" onclick="javascript: add_user_to_session(\''.$user['user_id'].'\',\''.$person_name.' ('.$user['username'].')'.'\')">'.$person_name.' ('.$user['username'].')</a><br />';
$person_name = api_get_person_name($user['firstname'], $user['lastname']).' ('.$user['username'].') '.$user['official_code'];
$return .= '<a href="javascript: void(0);" onclick="javascript: add_user_to_session(\''.$user['user_id'].'\',\''.$person_name.' '.'\')">'.$person_name.' </a><br />';
} else {
$return .= '...<br />';
}
@ -185,8 +188,8 @@ function search_users($needle, $type)
global $nosessionUsersList;
$return .= '<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;">';
while ($user = Database :: fetch_array($rs)) {
$person_name = api_get_person_name($user['firstname'], $user['lastname']);
$return .= '<option value="'.$user['user_id'].'">'.$person_name.' ('.$user['username'].')</option>';
$person_name = api_get_person_name($user['firstname'], $user['lastname']).' ('.$user['username'].') '.$user['official_code'];
$return .= '<option value="'.$user['user_id'].'">'.$person_name.' </option>';
}
$return .= '</select>';
$xajax_response -> addAssign('ajax_list_users_multiple','innerHTML',api_utf8_encode($return));
@ -277,25 +280,25 @@ $ajax_search = $add_type == 'unique' ? true : false;
$order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username';
if ($ajax_search) {
$sql="SELECT user_id, lastname, firstname, username, id_session
$sql = "SELECT user_id, lastname, firstname, username, id_session, official_code
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
AND $tbl_session_rel_user.id_session = ".intval($id_session)."
WHERE u.status<>".DRH." AND u.status<>6 $order_clause";
WHERE u.status<>".DRH." AND u.status<>6 $order_clause";
if (api_is_multiple_url_enabled()) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$sql="SELECT u.user_id, lastname, firstname, username, id_session
$sql="SELECT u.user_id, lastname, firstname, username, id_session, official_code
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
AND $tbl_session_rel_user.id_session = ".intval($id_session)."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id AND u.status<>".DRH." AND u.status<>6
$order_clause";
WHERE access_url_id = $access_url_id AND u.status<>".DRH." AND u.status<>6
$order_clause";
}
}
$result = Database::query($sql);
@ -353,18 +356,22 @@ if ($ajax_search) {
}
if ($use_extra_fields) {
$sql = "SELECT user_id, lastname, firstname, username, id_session
$sql = "SELECT user_id, lastname, firstname, username, id_session, official_code
FROM $tbl_user u
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.id_session = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
$where_filter AND u.status<>".DRH." AND u.status<>6
$order_clause";
ON $tbl_session_rel_user.id_user = u.user_id AND
$tbl_session_rel_user.id_session = '$id_session' AND
$tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
$where_filter AND u.status<>".DRH." AND u.status<>6
$order_clause";
} else {
$sql = "SELECT user_id, lastname, firstname, username, id_session
$sql = "SELECT user_id, lastname, firstname, username, id_session, official_code
FROM $tbl_user u
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.id_session = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
ON $tbl_session_rel_user.id_user = u.user_id AND
$tbl_session_rel_user.id_session = '$id_session' AND
$tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
WHERE u.status<>".DRH." AND u.status<>6
$order_clause";
}
@ -372,42 +379,52 @@ if ($ajax_search) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$sql = "SELECT u.user_id, lastname, firstname, username, id_session
$sql = "SELECT u.user_id, lastname, firstname, username, id_session, official_code
FROM $tbl_user u
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.id_session = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
ON $tbl_session_rel_user.id_user = u.user_id AND
$tbl_session_rel_user.id_session = '$id_session' AND
$tbl_session_rel_user.relation_type <> ".SESSION_RELATION_TYPE_RRHH."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id $where_filter AND u.status<>".DRH." AND u.status<>6
WHERE access_url_id = $access_url_id $where_filter AND u.status<>".DRH." AND u.status<>6
$order_clause";
}
}
$result = Database::query($sql);
$users = Database::store_result($result,'ASSOC');
foreach ($users as $uid => $user) {
if ($user['id_session'] != $id_session) {
$nosessionUsersList[$user['user_id']] = array('fn'=>$user['firstname'],'ln'=>$user['lastname'],'un'=>$user['username']) ;
$nosessionUsersList[$user['user_id']] = array(
'fn' => $user['firstname'],
'ln' => $user['lastname'],
'un' => $user['username'],
'official_code' => $user['official_code']
) ;
unset($users[$uid]);
}
}
unset($users); //clean to free memory
//filling the correct users in list
$sql="SELECT user_id, lastname, firstname, username, id_session
$sql="SELECT user_id, lastname, firstname, username, id_session, official_code
FROM $tbl_user u
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.id_session = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
ON $tbl_session_rel_user.id_user = u.user_id AND
$tbl_session_rel_user.id_session = '$id_session' AND
$tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
WHERE u.status<>".DRH." AND u.status<>6 $order_clause";
if (api_is_multiple_url_enabled()) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$sql="SELECT u.user_id, lastname, firstname, username, id_session
$sql="SELECT u.user_id, lastname, firstname, username, id_session, official_code
FROM $tbl_user u
LEFT JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.id_session = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
ON $tbl_session_rel_user.id_user = u.user_id AND
$tbl_session_rel_user.id_session = '$id_session' AND
$tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id AND u.status<>".DRH." AND u.status<>6
$order_clause";
@ -515,7 +532,7 @@ if (!empty($errorMsg)) {
foreach ($nosessionUsersList as $uid => $enreg) {
?>
<option value="<?php echo $uid; ?>" <?php if(in_array($uid,$UserList)) echo 'selected="selected"'; ?>>
<?php echo api_get_person_name($enreg['fn'], $enreg['ln']).' ('.$enreg['un'].')'; ?>
<?php echo api_get_person_name($enreg['fn'], $enreg['ln']).' ('.$enreg['un'].') '.$enreg['official_code']; ?>
</option>
<?php
}
@ -566,10 +583,10 @@ if (!empty($errorMsg)) {
</div>
<select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" class="span5">
<?php
foreach($sessionUsersList as $enreg) {
foreach ($sessionUsersList as $enreg) {
?>
<option value="<?php echo $enreg['user_id']; ?>">
<?php echo api_get_person_name($enreg['firstname'], $enreg['lastname']).' ('.$enreg['username'].')'; ?>
<?php echo api_get_person_name($enreg['firstname'], $enreg['lastname']).' ('.$enreg['username'].') '.$enreg['official_code']; ?>
</option>
<?php
}

@ -224,7 +224,10 @@ if (!empty($complete_user_list)) {
}
if (in_array($item['user_id'], $list_in)) {
$person_name = api_get_person_name($item['firstname'], $item['lastname']).' ('.$item['username'].')';
$person_name = api_get_person_name(
$item['firstname'],
$item['lastname']
).' ('.$item['username'].') '.$item['official_code'];
$elements_in[$item['user_id']] = $person_name;
}
}
@ -253,7 +256,10 @@ if (!empty($user_list)) {
}
}
if ($item['status'] == 6 ) continue; //avoid anonymous users
$person_name = api_get_person_name($item['firstname'], $item['lastname']).' ('.$item['username'].')';
$person_name = api_get_person_name(
$item['firstname'],
$item['lastname']
).' ('.$item['username'].') '.$item['official_code'];
if (in_array($item['user_id'], $list_in)) {
//$elements_in[$item['user_id']] = $person_name;
} else {
@ -296,7 +302,7 @@ if ($add_type=='multiple') {
foreach ($new_field['data'] as $option) {
$checked='';
if (isset($_POST[$varname])) {
if ($_POST[$varname]==$option[1]) {
if ($_POST[$varname] == $option[1]) {
$checked = 'selected="true"';
}
}

Loading…
Cancel
Save