X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/45c855269d952873285f7a835e82fc2b3eff3971..c2b4a52bc12c6ee6204fd03d1d1b2534b7249554:/WEB-INF/lib/ttUser.class.php diff --git a/WEB-INF/lib/ttUser.class.php b/WEB-INF/lib/ttUser.class.php index 70e55040..2511ecfb 100644 --- a/WEB-INF/lib/ttUser.class.php +++ b/WEB-INF/lib/ttUser.class.php @@ -53,6 +53,7 @@ class ttUser { var $future_entries = 0; // Whether to allow creating future entries. var $uncompleted_indicators = 0; // Uncompleted time entry indicators (show nowhere or on users page). var $bcc_email = null; // Bcc email. + var $allow_ip = null; // Specification from where user is allowed access. var $currency = null; // Currency. var $plugins = null; // Comma-separated list of enabled plugins. var $config = null; // Comma-separated list of miscellaneous config options. @@ -72,11 +73,11 @@ class ttUser { $mdb2 = getConnection(); - $sql = "SELECT u.id, u.login, u.name, u.group_id, u.role_id, r.rank, r.name as role_name, r.rights, u.client_id, u.email, t.name as team_name, - t.currency, t.lang, t.decimal_mark, t.date_format, t.time_format, t.week_start, - t.tracking_mode, t.project_required, t.task_required, t.record_type, - t.bcc_email, t.plugins, t.config, t.lock_spec, t.workday_minutes, t.custom_logo - FROM tt_users u LEFT JOIN tt_groups t ON (u.group_id = t.id) LEFT JOIN tt_roles r on (r.id = u.role_id) WHERE "; + $sql = "SELECT u.id, u.login, u.name, u.group_id, u.role_id, r.rank, r.name as role_name, r.rights, u.client_id, u.email, g.name as group_name, + g.currency, g.lang, g.decimal_mark, g.date_format, g.time_format, g.week_start, + g.tracking_mode, g.project_required, g.task_required, g.record_type, + g.bcc_email, g.allow_ip, g.plugins, g.config, g.lock_spec, g.workday_minutes, g.custom_logo + FROM tt_users u LEFT JOIN tt_groups g ON (u.group_id = g.id) LEFT JOIN tt_roles r on (r.id = u.role_id) WHERE "; if ($id) $sql .= "u.id = $id"; else @@ -111,7 +112,8 @@ class ttUser { $this->task_required = $val['task_required']; $this->record_type = $val['record_type']; $this->bcc_email = $val['bcc_email']; - $this->team = $val['team_name']; + $this->allow_ip = $val['allow_ip']; + $this->team = $val['group_name']; $this->currency = $val['currency']; $this->plugins = $val['plugins']; $this->lock_spec = $val['lock_spec']; @@ -203,6 +205,37 @@ class ttUser { return $result; } + // getAssignedTasks - returns an array of assigned tasks. + function getAssignedTasks() + { + // Start with projects; + $projects = $this->getAssignedProjects(); + if (!$projects) return false; + + // Build an array of task ids. + $task_ids = array(); + foreach($projects as $project) { + $one_project_tasks = $project['tasks'] ? explode(',', $project['tasks']) : array(); + $task_ids = array_unique(array_merge($task_ids, $one_project_tasks)); + } + if (!$task_ids) return false; + + // Get task descriptions. + $result = array(); + $mdb2 = getConnection(); + $tasks = implode(',', $task_ids); // This is a comma-separated list of task ids. + + $sql = "select id, name, description from tt_tasks". + " where group_id = $this->group_id and status = 1 and id in ($tasks) order by name"; + $res = $mdb2->query($sql); + if (!is_a($res, 'PEAR_Error')) { + while ($val = $res->fetchRow()) { + $result[] = $val; + } + } + return $result; + } + // isDateLocked checks whether a specifc date is locked for modifications. function isDateLocked($date) {