// Class ttTeamHelper - contains helper functions that operate with groups.
class ttTeamHelper {
- // The getUsersForClient obtains all active and inactive users in a group that are relevant to a client.
- static function getUsersForClient() {
- global $user;
- $mdb2 = getConnection();
-
- $sql = "select u.id, u.name from tt_user_project_binds upb".
- " inner join tt_client_project_binds cpb on (upb.project_id = cpb.project_id and cpb.client_id = $user->client_id)".
- " inner join tt_users u on (u.id = upb.user_id)".
- " where (u.status = 1 or u.status = 0)".
- " group by u.id".
- " order by upper(u.name)";
- $res = $mdb2->query($sql);
- $user_list = array();
- if (is_a($res, 'PEAR_Error'))
- return false;
- while ($val = $res->fetchRow()) {
- $user_list[] = $val;
- }
- return $user_list;
- }
-
// The swapRolesWith swaps existing user role with that of another user.
static function swapRolesWith($user_id) {
global $user;
return $user_list;
}
- // The getUsers obtains all active and inactive (but not deleted) users in a group.
- static function getUsers() {
- global $user;
- $mdb2 = getConnection();
- $sql = "select id, name from tt_users where group_id = $user->group_id and (status = 1 or status = 0) order by upper(name)";
- $res = $mdb2->query($sql);
- $user_list = array();
- if (is_a($res, 'PEAR_Error'))
- return false;
- while ($val = $res->fetchRow()) {
- $user_list[] = $val;
- }
- return $user_list;
- }
-
// The getInactiveUsers obtains all inactive users in a group.
static function getInactiveUsers($group_id, $all_fields = false) {
$mdb2 = getConnection();
return false;
}
- // The getAllTasks obtains all tasks in a group.
- static function getAllTasks($group_id, $all_fields = false) {
- $mdb2 = getConnection();
-
- if ($all_fields)
- $sql = "select * from tt_tasks where group_id = $group_id order by status, upper(name)";
- else
- $sql = "select id, name from tt_tasks where group_id = $group_id order by status, upper(name)";
- $res = $mdb2->query($sql);
- $result = array();
- if (!is_a($res, 'PEAR_Error')) {
- while ($val = $res->fetchRow()) {
- $result[] = $val;
- }
- return $result;
- }
- return false;
- }
-
// getActiveRolesForUser - returns an array of relevant active roles for user with rank less than self.
// "Relevant" means that client roles are filtered out if Client plugin is disabled.
static function getActiveRolesForUser()
return $result;
}
- // The getRecentInvoices returns an array of recent invoices (max 3) for a client.
- static function getRecentInvoices($group_id, $client_id)
- {
- global $user;
-
- $result = array();
- $mdb2 = getConnection();
-
- $sql = "select i.id, i.name from tt_invoices i
- left join tt_clients c on (c.id = i.client_id)
- where i.group_id = $group_id and i.status = 1 and c.id = $client_id
- order by i.id desc limit 3";
- $res = $mdb2->query($sql);
- $result = array();
- if (!is_a($res, 'PEAR_Error')) {
- $dt = new DateAndTime(DB_DATEFORMAT);
- while ($val = $res->fetchRow()) {
- $result[] = $val;
- }
- }
- return $result;
- }
-
// getUserToProjectBinds - obtains all user to project binds for a group.
static function getUserToProjectBinds($group_id) {
$mdb2 = getConnection();
$result = array();
- $sql = "select * from tt_user_project_binds where user_id in (select id from tt_users where group_id = $group_id) order by user_id, status, project_id";
+ $sql = "select * from tt_user_project_binds".
+ " where user_id in (select id from tt_users where group_id = $group_id)".
+ " and group_id = $group_id order by user_id, status, project_id";
$res = $mdb2->query($sql);
$result = array();
if (!is_a($res, 'PEAR_Error')) {