return in_array($do_something, $this->rights);
}
- // isManager - determines whether current user is group manager.
- // This is a legacy function that we are getting rid of by replacing with rights check.
- function isManager() {
- return $this->can('export_data'); // By default this is assigned to managers but not co-managers.
- // Which is sufficient for now until we refactor all calls
- // to this function and then remove it.
- }
-
- // isCoManager - determines whether current user is group comanager.
- // This is a legacy function that we are getting rid of by replacing with rights check.
- function isCoManager() {
- return ($this->can('manage_users') && !$this->can('export_data'));
- }
-
// isClient - determines whether current user is a client.
function isClient() {
return $this->is_client;
$mdb2 = getConnection();
- $sql = "select u.id, u.name, u.login, u.role_id, u.status, u.rate, u.email from tt_users u".
+ $sql = "select u.id, u.name, u.login, u.role_id, u.client_id, u.status, u.rate, u.email from tt_users u".
" left join tt_roles r on (u.role_id = r.id)".
" where u.id = $user_id and u.group_id = $this->group_id and u.status is not null".
" and (r.rank < $this->rank or (r.rank = $this->rank and u.id = $this->id))"; // Users with lesser roles or self.
return true;
}
+ // markUserDeleted marks a user in group as deleted.
+ function markUserDeleted($user_id) {
+ if (!$this->can('manage_users') || $this->id == $user_id)
+ return false;
+
+ // Make sure we operate on a legit user.
+ $user_details = $this->getUser($user_id);
+ if (!$user_details) return false;
+
+ $mdb2 = getConnection();
+
+ // Mark user to project binds as deleted.
+ $sql = "update tt_user_project_binds set status = NULL where user_id = $user_id";
+ $affected = $mdb2->exec($sql);
+ if (is_a($affected, 'PEAR_Error'))
+ return false;
+
+ // Mark user favorite reports as deleted.
+ $sql = "update tt_fav_reports set status = NULL where user_id = $user_id";
+ $affected = $mdb2->exec($sql);
+ if (is_a($affected, 'PEAR_Error'))
+ return false;
+
+ // Mark user as deleted.
+ $sql = "update tt_users set status = NULL where id = $user_id and group_id = ".$this->group_id;
+ $affected = $mdb2->exec($sql);
+ if (is_a($affected, 'PEAR_Error'))
+ return false;
+
+ return true;
+ }
+
// enablePlugin either enables or disables a specific plugin for group.
function enablePlugin($plugin, $enable = true)
{