X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttTeamHelper.class.php;h=e306ced8722f2755bcb5c67f5d1d752030e1c2e5;hb=dacd62b3065d38ddbec624d5b7d7306f0b61dd3a;hp=b308996382b1fa72b6be4daa1bbf103b3056c39a;hpb=8f7f616dc5fafe49038c6eaff25f6fe6f55ca635;p=timetracker.git diff --git a/WEB-INF/lib/ttTeamHelper.class.php b/WEB-INF/lib/ttTeamHelper.class.php index b3089963..e306ced8 100644 --- a/WEB-INF/lib/ttTeamHelper.class.php +++ b/WEB-INF/lib/ttTeamHelper.class.php @@ -263,6 +263,41 @@ class ttTeamHelper { return false; } + // getActiveRoles - returns an array of active roles for team. + static function getActiveRoles($team_id) + { + $result = array(); + $mdb2 = getConnection(); + + $sql = "select id, name, description from tt_roles where team_id = $team_id and status = 1 order by upper(name)"; + $res = $mdb2->query($sql); + $result = array(); + if (!is_a($res, 'PEAR_Error')) { + while ($val = $res->fetchRow()) { + $result[] = $val; + } + } + return $result; + } + + // getInactiveRoles - returns an array of inactive roles for team. + static function getInactiveRoles($team_id) + { + $result = array(); + $mdb2 = getConnection(); + + $sql = "select id, name, description from tt_roles + where team_id = $team_id and status = 0 order by upper(name)"; + $res = $mdb2->query($sql); + $result = array(); + if (!is_a($res, 'PEAR_Error')) { + while ($val = $res->fetchRow()) { + $result[] = $val; + } + } + return $result; + } + // The getActiveClients returns an array of active clients for team. static function getActiveClients($team_id, $all_fields = false) { @@ -485,6 +520,23 @@ class ttTeamHelper { return false; } + // getRoles - obtains all roles defined for team. + static function getRoles($team_id) { + $mdb2 = getConnection(); + + $result = array(); + $sql = "select * from tt_roles where team_id = $team_id"; + $res = $mdb2->query($sql); + $result = array(); + if (!is_a($res, 'PEAR_Error')) { + while ($val = $res->fetchRow()) { + $result[] = $val; + } + return $result; + } + return false; + } + // getExpenseItems - obtains all expense items for all users in team. static function getExpenseItems($team_id) { $mdb2 = getConnection(); @@ -548,7 +600,7 @@ class ttTeamHelper { $mdb2 = getConnection(); $result = array(); - $sql = "select year, month, quota from tt_monthly_quotas where team_id = $team_id"; + $sql = "select year, month, minutes from tt_monthly_quotas where team_id = $team_id"; $res = $mdb2->query($sql); $result = array(); if (!is_a($res, 'PEAR_Error')) { @@ -640,13 +692,13 @@ class ttTeamHelper { $mdb2 = getConnection(); - $decimal_mark = $fields['decimal_mark']; - if ($decimal_mark !== null) { - $decimal_mark_f = ', decimal_mark'; - $decimal_mark_v = ', ' . $mdb2->quote($decimal_mark); - } else { - $decimal_mark_f = ''; - $decimal_mark_v = ''; + // Start with team name and currency. + $columns = 'name, currency'; + $values = $mdb2->quote(trim($fields['name'])).', '.$mdb2->quote(trim($fields['currency'])); + + if ($fields['decimal_mark']) { + $columns .= ', decimal_mark'; + $values .= ', '.$mdb2->quote($fields['decimal_mark']); } $lang = $fields['lang']; @@ -654,128 +706,73 @@ class ttTeamHelper { global $i18n; $lang = $i18n->lang; } + $columns .= ', lang'; + $values .= ', '.$mdb2->quote($lang); - $date_format = $fields['date_format']; - if ($date_format !== null) { - $date_format_f = ', date_format'; - $date_format_v = ', ' . $mdb2->quote($date_format); - } elseif (defined('DATE_FORMAT_DEFAULT')) { - $date_format_f = ', date_format'; - $date_format_v = ', ' . $mdb2->quote(DATE_FORMAT_DEFAULT); - } else { - $date_format_f = ''; - $date_format_v = ''; + if ($fields['date_format'] || defined('DATE_FORMAT_DEFAULT')) { + $date_format = $fields['date_format'] ? $fields['date_format'] : DATE_FORMAT_DEFAULT; + $columns .= ', date_format'; + $values .= ', '.$mdb2->quote($date_format); } - $time_format = $fields['time_format']; - if ($time_format !== null) { - $time_format_f = ', time_format'; - $time_format_v = ', ' . $mdb2->quote($time_format); - } elseif (defined('TIME_FORMAT_DEFAULT')) { - $time_format_f = ', time_format'; - $time_format_v = ', ' . $mdb2->quote(TIME_FORMAT_DEFAULT); - } else { - $time_format_f = ''; - $time_format_v = ''; + if ($fields['time_format'] || defined('TIME_FORMAT_DEFAULT')) { + $time_format = $fields['time_format'] ? $fields['time_format'] : TIME_FORMAT_DEFAULT; + $columns .= ', time_format'; + $values .= ', '.$mdb2->quote($time_format); } - $week_start = $fields['week_start']; - if ($week_start !== null) { - $week_start_f = ', week_start'; - $week_start_v = ', ' . (int)$week_start; - } elseif (defined('WEEK_START_DEFAULT')) { - $week_start_f = ', week_start'; - $week_start_v = ', ' . (int)WEEK_START_DEFAULT; - } else { - $week_start_f = ''; - $week_start_v = ''; + if ($fields['week_start'] || defined('WEEK_START_DEFAULT')) { + $week_start = $fields['week_start'] ? $fields['week_start'] : WEEK_START_DEFAULT; + $columns .= ', week_start'; + $values .= ', '.(int)$week_start; } - $tracking_mode = $fields['tracking_mode']; - if ($tracking_mode !== null) { - $tracking_mode_f = ', tracking_mode'; - $tracking_mode_v = ', ' . (int)$tracking_mode; - } else { - $tracking_mode_f = ''; - $tracking_mode_v = ''; + if ($fields['tracking_mode']) { + $columns .= ', tracking_mode'; + $values .= ', '.(int)$fields['tracking_mode']; } - $project_required = $fields['project_required']; - if ($project_required !== null) { - $project_required_f = ', project_required'; - $project_required_v = ', ' . (int)$project_required; - } else { - $project_required_f = ''; - $project_required_v = ''; + if ($fields['project_required']) { + $columns .= ', project_required'; + $values .= ', '.(int)$fields['project_required']; } - $task_required = $fields['task_required']; - if ($task_required !== null) { - $task_required_f = ', task_required'; - $task_required_v = ', ' . (int)$task_required; - } else { - $task_required_f = ''; - $task_required_v = ''; + if ($fields['task_required']) { + $columns .= ', task_required'; + $values .= ', '.(int)$fields['task_required']; } - $record_type = $fields['record_type']; - if ($record_type !== null) { - $record_type_f = ', record_type'; - $record_type_v = ', ' . (int)$record_type; - } else { - $record_type_f = ''; - $record_type_v = ''; + if ($fields['record_type']) { + $columns .= ', record_type'; + $values .= ', '.(int)$fields['record_type']; } - $uncompleted_indicators = $fields['uncompleted_indicators']; - if ($uncompleted_indicators !== null) { - $uncompleted_indicators_f = ', uncompleted_indicators'; - $uncompleted_indicators_v = ', ' . (int)$uncompleted_indicators; - } else { - $uncompleted_indicators_f = ''; - $uncompleted_indicators_v = ''; + if ($fields['bcc_email']) { + $columns .= ', bcc_email'; + $values .= ', '.$mdb2->quote($fields['bcc_email']); } - $bcc_email = $fields['bcc_email']; - if ($bcc_email !== null) { - $bcc_email_f = ', bcc_email'; - $bcc_email_v = ', ' . $mdb2->quote($bcc_email); - } else { - $bcc_email_f = ''; - $bcc_email_v = ''; + if ($fields['plugins']) { + $columns .= ', plugins'; + $values .= ', '.$mdb2->quote($fields['plugins']); } - $plugins = $fields['plugins']; - if ($plugins !== null) { - $plugins_f = ', plugins'; - $plugins_v = ', ' . $mdb2->quote($plugins); - } else { - $plugins_f = ''; - $plugins_v = ''; + if ($fields['lock_spec']) { + $columns .= ', lock_spec'; + $values .= ', '.$mdb2->quote($fields['lock_spec']); } - $lock_spec = $fields['lock_spec']; - if ($lock_spec !== null) { - $lockspec_f = ', lock_spec'; - $lockspec_v = ', ' . $mdb2->quote($lock_spec); - } else { - $lockspec_f = ''; - $lockspec_v = ''; + if ($fields['workday_minutes']) { + $columns .= ', workday_minutes'; + $values .= ', '.(int)$fields['workday_minutes']; } - $workday_hours = $fields['workday_hours']; - if ($workday_hours !== null) { - $workday_hours_f = ', workday_hours'; - $workday_hours_v = ', ' . (int)$workday_hours; - } else { - $workday_hours_f = ''; - $workday_hours_v = ''; + if ($fields['config']) { + $columns .= ', config'; + $values .= ', '.$mdb2->quote($fields['config']); } - $sql = "insert into tt_teams (name, currency $decimal_mark_f, lang $date_format_f $time_format_f $week_start_f $tracking_mode_f $project_required_f $task_required_f $record_type_f $uncompleted_indicators_f $bcc_email_f $plugins_f $lockspec_f $workday_hours_f) - values(".$mdb2->quote(trim($fields['name'])). - ", ".$mdb2->quote(trim($fields['currency']))." $decimal_mark_v, ".$mdb2->quote($lang). - "$date_format_v $time_format_v $week_start_v $tracking_mode_v $project_required_v $task_required_v $record_type_v $uncompleted_indicators_v $bcc_email_v $plugins_v $lockspec_v $workday_hours_v)"; + $sql = "insert into tt_teams ($columns) values($values)"; $affected = $mdb2->exec($sql); if (!is_a($affected, 'PEAR_Error')) { @@ -800,12 +797,11 @@ class ttTeamHelper { $tracking_mode_part = ''; $task_required_part = ' , task_required = '.(int) $fields['task_required']; $record_type_part = ''; - $uncompleted_indicators_part = ''; $bcc_email_part = ''; $plugins_part = ''; $config_part = ''; $lock_spec_part = ''; - $workday_hours_part = ''; + $workday_minutes_part = ''; if (isset($fields['currency'])) $currency_part = ', currency = '.$mdb2->quote($fields['currency']); if (isset($fields['lang'])) $lang_part = ', lang = '.$mdb2->quote($fields['lang']); @@ -815,16 +811,15 @@ class ttTeamHelper { if (isset($fields['week_start'])) $week_start_part = ', week_start = '.(int) $fields['week_start']; if (isset($fields['tracking_mode'])) $tracking_mode_part = ', tracking_mode = '.(int) $fields['tracking_mode']; if (isset($fields['record_type'])) $record_type_part = ', record_type = '.(int) $fields['record_type']; - if (isset($fields['uncompleted_indicators'])) $uncompleted_indicators_part = ', uncompleted_indicators = '.(int) $fields['uncompleted_indicators']; if (isset($fields['bcc_email'])) $bcc_email_part = ', bcc_email = '.$mdb2->quote($fields['bcc_email']); if (isset($fields['plugins'])) $plugins_part = ', plugins = '.$mdb2->quote($fields['plugins']); if (isset($fields['config'])) $config_part = ', config = '.$mdb2->quote($fields['config']); if (isset($fields['lock_spec'])) $lock_spec_part = ', lock_spec = '.$mdb2->quote($fields['lock_spec']); - if (isset($fields['workday_hours'])) $workday_hours_part = ', workday_hours = '.$mdb2->quote($fields['workday_hours']); + if (isset($fields['workday_minutes'])) $workday_minutes_part = ', workday_minutes = '.$mdb2->quote($fields['workday_minutes']); $sql = "update tt_teams set $name_part $currency_part $lang_part $decimal_mark_part $date_format_part $time_format_part $week_start_part $tracking_mode_part $task_required_part $record_type_part - $uncompleted_indicators_part $bcc_email_part $plugins_part $config_part $lock_spec_part $workday_hours_part where id = $team_id"; + $bcc_email_part $plugins_part $config_part $lock_spec_part $workday_minutes_part where id = $team_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; @@ -942,6 +937,11 @@ class ttTeamHelper { // Delete custom fields. if (!ttTeamHelper::deleteCustomFields($team_id)) return false; + // Delete roles. + $sql = "delete from tt_roles where team_id = $team_id"; + $affected = $mdb2->exec($sql); + if (is_a($affected, 'PEAR_Error')) return false; + // Delete team. $sql = "delete from tt_teams where id = $team_id"; $affected = $mdb2->exec($sql);