X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/7797eda9fb04c217a813db88e00bb9ee541eabbb..91f127aa192430faa62c59530f42ee5d82b9f7e3:/WEB-INF/lib/ttTeamHelper.class.php diff --git a/WEB-INF/lib/ttTeamHelper.class.php b/WEB-INF/lib/ttTeamHelper.class.php index 241c92c0..08c52f45 100644 --- a/WEB-INF/lib/ttTeamHelper.class.php +++ b/WEB-INF/lib/ttTeamHelper.class.php @@ -106,7 +106,7 @@ class ttTeamHelper { if (!$val['id'] || !$val['role_id']) return false; - $modified_part = ', modified = now(), modified_ip = '.$mdb2->quote($_SERVER['REMOTE_ADDR']).', modified_by = '.$mdb2->quote($user->id); + $modified_part = ', modified = now(), modified_ip = '.$mdb2->quote($_SERVER['REMOTE_ADDR']).', modified_by = '.$user->id; // Promote user. $sql = "update tt_users set role_id = $user->role_id".$modified_part." where id = $user_id and group_id = $user->group_id"; @@ -296,7 +296,11 @@ class ttTeamHelper { $group_id = $user->getGroup(); $org_id = $user->org_id; - $sql = "select id, name, description, rank, rights from tt_roles where group_id = $group_id and org_id = $org_id and rank < $user->rank and status = 1 order by rank"; + // Determine max rank. If we are working in on behalf group + // then rank restriction does not apply. + $max_rank = $user->behalfGroup ? MAX_RANK : $user->rank; + + $sql = "select id, name, description, rank, rights from tt_roles where group_id = $group_id and org_id = $org_id and rank < $max_rank and status = 1 order by rank"; $res = $mdb2->query($sql); $result = array(); if (!is_a($res, 'PEAR_Error')) { @@ -357,7 +361,11 @@ class ttTeamHelper { $group_id = $user->getGroup(); $org_id = $user->org_id; - $sql = "select id, name, description, rank, rights from tt_roles where group_id = $group_id and org_id = $org_id and rank < $user->rank and status = 0 order by rank"; + // Determine max rank. If we are working in on behalf group + // then rank restriction does not apply. + $max_rank = $user->behalfGroup ? MAX_RANK : $user->rank; + + $sql = "select id, name, description, rank, rights from tt_roles where group_id = $group_id and org_id = $org_id and rank < $max_rank and status = 0 order by rank"; $res = $mdb2->query($sql); $result = array(); if (!is_a($res, 'PEAR_Error')) {