X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttGroup.class.php;h=c3a56e05540605a8f164c84f39829d505178b311;hb=4334f16faa68ecaec5aceb5c16bb500d62a3688f;hp=26f2ee6c316a7cd9539f20aa85ee293aae2431da;hpb=3cd4cdb1567b3b71fec7a980a3c1a432eb3a41a2;p=timetracker.git diff --git a/WEB-INF/lib/ttGroup.class.php b/WEB-INF/lib/ttGroup.class.php index 26f2ee6c..c3a56e05 100644 --- a/WEB-INF/lib/ttGroup.class.php +++ b/WEB-INF/lib/ttGroup.class.php @@ -49,21 +49,25 @@ class ttGroup { var $punch_mode = 0; // Whether punch mode is enabled for user. var $allow_overlap = 0; // Whether to allow overlapping time entries. 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 $password_complexity = null; // Password complexity example. var $currency = null; // Currency. var $plugins = null; // Comma-separated list of enabled plugins. + var $config = null; // Comma-separated list of miscellaneous config options. + var $configHelper = null; // An instance of ttConfigHelper class. + var $custom_logo = 0; // Whether to use a custom logo for group. var $lock_spec = null; // Cron specification for record locking. var $workday_minutes = 480; // Number of work minutes in a regular day. - var $minutes_in_unit = 15; // Number of minutes in unit for Work units plugin. - var $first_unit_threshold = 0;// Threshold for 1st unit for Work units plugin. - var $unit_totals_only = 0; // Totals only option for the Work units plugin. + + var $active_users = 0; // Count of active users in group. + // We need a non-zero count to display some menus. // Constructor. + // Note: org_id is needed because we construct an object in ttUser constructor, + // when global $user object does not yet exist. function __construct($id, $org_id) { $mdb2 = getConnection(); @@ -88,33 +92,42 @@ class ttGroup { /* TODO: initialize other things here. $this->project_required = $val['project_required']; $this->task_required = $val['task_required']; + */ $this->record_type = $val['record_type']; + /* $this->bcc_email = $val['bcc_email']; $this->allow_ip = $val['allow_ip']; $this->password_complexity = $val['password_complexity']; $this->group_name = $val['group_name']; + */ $this->currency = $val['currency']; $this->plugins = $val['plugins']; $this->lock_spec = $val['lock_spec']; $this->workday_minutes = $val['workday_minutes']; + /* $this->custom_logo = $val['custom_logo']; + */ + // TODO: refactor this. $this->config = $val['config']; - $config = new ttConfigHelper($this->config); + $this->configHelper = new ttConfigHelper($val['config']); // Set user config options. - $this->show_holidays = $config->getDefinedValue('show_holidays'); - $this->punch_mode = $config->getDefinedValue('punch_mode'); - $this->allow_overlap = $config->getDefinedValue('allow_overlap'); - $this->future_entries = $config->getDefinedValue('future_entries'); - $this->uncompleted_indicators = $config->getDefinedValue('uncompleted_indicators'); - if ($this->isPluginEnabled('wu')) { - $minutes_in_unit = $config->getIntValue('minutes_in_unit'); - if ($minutes_in_unit) $this->minutes_in_unit = $minutes_in_unit; - $first_unit_threshold = $config->getIntValue('1st_unit_threshold'); - if ($first_unit_threshold) $this->first_unit_threshold = $first_unit_threshold; - $this->unit_totals_only = $config->getDefinedValue('unit_totals_only'); - } - */ + $this->show_holidays = $this->configHelper->getDefinedValue('show_holidays'); + $this->punch_mode = $this->configHelper->getDefinedValue('punch_mode'); + $this->allow_overlap = $this->configHelper->getDefinedValue('allow_overlap'); + $this->future_entries = $this->configHelper->getDefinedValue('future_entries'); } + + // Determine active user count in a separate query. + // TODO: If performance becomes an issue, investigate combining 2 queries in one. + // At this time we only need to know if at least 1 active user exists. + $sql = "select count(*) as user_count from tt_users". + " where group_id = $id and org_id = $org_id and status = 1"; + $res = $mdb2->query($sql); + if (is_a($res, 'PEAR_Error')) { + return; + } + $val = $res->fetchRow(); + $this->active_users = $val['user_count']; } }