X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=topdf.php;h=fd3016e5528d7489648c4e96bd91b03883d044bc;hb=80481c14be5a7ac9e4d386ad7b3ec71d7628e03b;hp=9d3164af1e458ecc3f939f983bc6a383e741da26;hpb=187a16b0ffee5ae6af51b010ff90a194048d3457;p=timetracker.git diff --git a/topdf.php b/topdf.php index 9d3164af..fd3016e5 100644 --- a/topdf.php +++ b/topdf.php @@ -52,7 +52,7 @@ require_once('WEB-INF/lib/tcpdf/tcpdf.php'); // Use custom fields plugin if it is enabled. if ($user->isPluginEnabled('cf')) { require_once('plugins/CustomFields.class.php'); - $custom_fields = new CustomFields($user->group_id); + $custom_fields = new CustomFields(); } // Report settings are stored in session bean before we get here. @@ -62,27 +62,17 @@ $bean = new ActionForm('reportBean', new Form('reportForm'), $request); // is grouped by either date, user, client, project, task or cf_1 and user only needs to see subtotals by group. $totals_only = ($bean->getAttribute('chtotalsonly') == '1'); -// Determine group by header. -$group_by = $bean->getAttribute('group_by'); -if ('no_grouping' != $group_by) { - if ('cf_1' == $group_by) - $group_by_header = $custom_fields->fields[0]['label']; - else { - $key = 'label.'.$group_by; - $group_by_header = $i18n->get($key); - } -} - // Obtain items for report. $options = ttReportHelper::getReportOptions($bean); +$grouping = ttReportHelper::grouping($options); if (!$totals_only) - $items = ttReportHelper::getItems($bean, $options); // Individual entries. -if ($totals_only || 'no_grouping' != $group_by) - $subtotals = ttReportHelper::getSubtotals($bean, $options); // Subtotals for groups of items. -$totals = ttReportHelper::getTotals($bean, $options); // Totals for the entire report. + $items = ttReportHelper::getItems($options); // Individual entries. +if ($totals_only || $grouping) + $subtotals = ttReportHelper::getSubtotals($options); // Subtotals for groups of items. +$totals = ttReportHelper::getTotals($options); // Totals for the entire report. // Assign variables that are used to print subtotals. -if ($items && 'no_grouping' != $group_by) { +if ($items && $grouping) { $print_subtotals = true; $first_pass = true; $prev_grouped_by = ''; @@ -104,6 +94,7 @@ $html .= ''; if ($totals_only) { // We are building a "totals only" report with only subtotals and total. + $group_by_header = ttReportHelper::makeGroupByHeader($options); $colspan = 1; // Column span for an empty row. // Table header. $html .= ''; @@ -181,27 +172,27 @@ if ($totals_only) { $html .= ''; if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) { $html .= ''; } if ($bean->getAttribute('chclient')) { $html .= ''; } if ($bean->getAttribute('chproject')) { $html .= ''; } if ($bean->getAttribute('chtask')) { $html .= ''; } if ($bean->getAttribute('chcf_1')) { $html .= ''; } if ($bean->getAttribute('chstart')) $html .= ''; @@ -270,27 +261,27 @@ if ($totals_only) { $html .= ''; if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) { $html .= ''; } if ($bean->getAttribute('chclient')) { $html .= ''; } if ($bean->getAttribute('chproject')) { $html .= ''; } if ($bean->getAttribute('chtask')) { $html .= ''; } if ($bean->getAttribute('chcf_1')) { $html .= ''; } if ($bean->getAttribute('chstart')) $html .= '';
'.$i18n->get('label.subtotal').''; - if ($group_by == 'user') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['user']); $html .= ''; - if ($group_by == 'client') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['client']); $html .= ''; - if ($group_by == 'project') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['project']); $html .= ''; - if ($group_by == 'task') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['task']); $html .= ''; - if ($group_by == 'cf_1') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['cf_1']); $html .= ''.$i18n->get('label.subtotal').''; - if ($group_by == 'user') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['user']); $html .= ''; - if ($group_by == 'client') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['client']); $html .= ''; - if ($group_by == 'project') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['project']); $html .= ''; - if ($group_by == 'task') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['task']); $html .= ''; - if ($group_by == 'cf_1') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); + $html .= htmlspecialchars($subtotals[$prev_grouped_by]['cf_1']); $html .= '