X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttFavReportHelper.class.php;h=0a21f7c94e6cd593615aeb886e799b205c28ecca;hb=85d475278111ea1ed81fcd0dd5eef7140d1cd493;hp=006d5567675a1c1867569ad53dededc7fc1d72bb;hpb=7b81d0e15ca73f1ee3558f4b042c513933d8735a;p=timetracker.git diff --git a/WEB-INF/lib/ttFavReportHelper.class.php b/WEB-INF/lib/ttFavReportHelper.class.php index 006d5567..0a21f7c9 100644 --- a/WEB-INF/lib/ttFavReportHelper.class.php +++ b/WEB-INF/lib/ttFavReportHelper.class.php @@ -170,24 +170,9 @@ class ttFavReportHelper { if (!$bean->getAttribute('chunits')) $bean->setAttribute('chunits', 0); if (!$bean->getAttribute('chtotalsonly')) $bean->setAttribute('chtotalsonly', 0); - if ($bean->getAttribute('users') && is_array($bean->getAttribute('users'))) { - $users_in_bean = $bean->getAttribute('users'); - - // If all users are selected - use a null value (which means "all users"). - $all_users_selected = true; - if ($user->can('view_reports')) { - $all = ttTeamHelper::getActiveUsers(); - foreach ($all as $one) { - if (!in_array($one['id'], $users_in_bean)) { - $all_users_selected = false; - break; - } - } - } - if ($all_users_selected) - $users = null; - else - $users = join(',', $users_in_bean); + $users_in_bean = $bean->getAttribute('users'); + if ($users_in_bean && is_array($users_in_bean)) { + $users = join(',', $users_in_bean); } if ($bean->getAttribute('start_date')) { $dt = new DateAndTime($user->date_format, $bean->getAttribute('start_date')); @@ -262,18 +247,7 @@ class ttFavReportHelper { $bean->setAttribute('include_records', $val['billable']); $bean->setAttribute('invoice', $val['invoice']); $bean->setAttribute('paid_status', $val['paid_status']); - if ($val['users']) - $bean->setAttribute('users', explode(',', $val['users'])); - else { - // Null users value means "all users". Add them to the bean. - if ($user->can('view_reports')) { - $all = ttTeamHelper::getActiveUsers(); - foreach ($all as $one) { - $all_user_ids[] = $one['id']; - } - $bean->setAttribute('users', $all_user_ids); - } - } + $bean->setAttribute('users', explode(',', $val['users'])); $bean->setAttribute('period', $val['period']); if ($val['period_start']) { $dt = new DateAndTime(DB_DATEFORMAT, $val['period_start']); @@ -327,4 +301,28 @@ class ttFavReportHelper { $bean->setAttributes($attrs); } } + + // getReportOptions - returns an array of fav report options from database data. + // Note: this function is a part of refactoring to simplify maintenance of report + // generating functions, as we currently have 2 sets: normal reporting (from bean), + // and fav report emailing (from db fields). Using options obtained from either db or bean + // shall allow us to use only one set of functions. + static function getReportOptions($id) { + + // Start with getting the fields from the database. + $db_fields = ttFavReportHelper::getReport($id); + if (!$db_fields) return false; + + // Prepare an array of report options. + $options = $db_fields; // For now, use db field names as options. + // Drop things we don't need in reports. + unset($options['id']); + unset($options['report_spec']); // Currently not used. + unset($options['status']); + + // Note: special handling for NULL users field is done in cron.php + + // $options now is a subset of db fields from tt_fav_reports table. + return $options; + } }