X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=topdf.php;h=9d3164af1e458ecc3f939f983bc6a383e741da26;hb=9e5dbe1bb51fef6af2a8e3a1dc0160086d723cfb;hp=9149e1c690702bbaffb1057c182433cf253c1c63;hpb=45c855269d952873285f7a835e82fc2b3eff3971;p=timetracker.git diff --git a/topdf.php b/topdf.php index 9149e1c6..9d3164af 100644 --- a/topdf.php +++ b/topdf.php @@ -74,11 +74,12 @@ if ('no_grouping' != $group_by) { } // Obtain items for report. +$options = ttReportHelper::getReportOptions($bean); if (!$totals_only) - $items = ttReportHelper::getItems($bean); // Individual entries. + $items = ttReportHelper::getItems($bean, $options); // Individual entries. if ($totals_only || 'no_grouping' != $group_by) - $subtotals = ttReportHelper::getSubtotals($bean); // Subtotals for groups of items. -$totals = ttReportHelper::getTotals($bean); // Totals for the entire report. + $subtotals = ttReportHelper::getSubtotals($bean, $options); // Subtotals for groups of items. +$totals = ttReportHelper::getTotals($bean, $options); // Totals for the entire report. // Assign variables that are used to print subtotals. if ($items && 'no_grouping' != $group_by) { @@ -109,6 +110,7 @@ if ($totals_only) { $html .= ""; $html .= ''.htmlspecialchars($group_by_header).''; if ($bean->getAttribute('chduration')) { $colspan++; $html .= "".$i18n->get('label.duration').''; } + if ($bean->getAttribute('chunits')) { $colspan++; $html .= "".$i18n->get('label.work_units_short').''; } if ($bean->getAttribute('chcost')) { $colspan++; $html .= "".$i18n->get('label.cost').''; } $html .= ''; $html .= ''; @@ -117,9 +119,10 @@ if ($totals_only) { $html .= ''; $html .= ''.htmlspecialchars($subtotal['name']).''; if ($bean->getAttribute('chduration')) $html .= "".$subtotal['time'].''; + if ($bean->getAttribute('chunits')) $html .= "".$subtotal['units'].''; if ($bean->getAttribute('chcost')) { $html .= ""; - if ($user->canManageTeam() || $user->isClient()) + if ($user->can('manage_invoices') || $user->isClient()) $html .= $subtotal['cost']; else $html .= $subtotal['expenses']; @@ -132,10 +135,11 @@ if ($totals_only) { $html .= ""; $html .= ''.$i18n->get('label.total').''; if ($bean->getAttribute('chduration')) $html .= "".$totals['time'].''; + if ($bean->getAttribute('chunits')) $html .= "".$totals['units'].''; if ($bean->getAttribute('chcost')) { $html .= ""; $html .= htmlspecialchars($user->currency).' '; - if ($user->canManageTeam() || $user->isClient()) + if ($user->can('manage_invoices') || $user->isClient()) $html .= $totals['cost']; else $html .= $totals['expenses']; @@ -150,7 +154,7 @@ if ($totals_only) { $html .= ''; $html .= ""; $html .= ''.$i18n->get('label.date').''; - if ($user->canManageTeam() || $user->isClient()) { $colspan++; $html .= ''.$i18n->get('label.user').''; } + if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) { $colspan++; $html .= ''.$i18n->get('label.user').''; } if ($bean->getAttribute('chclient')) { $colspan++; $html .= ''.$i18n->get('label.client').''; } if ($bean->getAttribute('chproject')) { $colspan++; $html .= ''.$i18n->get('label.project').''; } if ($bean->getAttribute('chtask')) { $colspan++; $html .= ''.$i18n->get('label.task').''; } @@ -158,6 +162,7 @@ if ($totals_only) { if ($bean->getAttribute('chstart')) { $colspan++; $html .= "".$i18n->get('label.start').''; } if ($bean->getAttribute('chfinish')) { $colspan++; $html .= "".$i18n->get('label.finish').''; } if ($bean->getAttribute('chduration')) { $colspan++; $html .= "".$i18n->get('label.duration').''; } + if ($bean->getAttribute('chunits')) { $colspan++; $html .= "".$i18n->get('label.work_units_short').''; } if ($bean->getAttribute('chnote')) { $colspan++; $html .= ''.$i18n->get('label.note').''; } if ($bean->getAttribute('chcost')) { $colspan++; $html .= "".$i18n->get('label.cost').''; } if ($bean->getAttribute('chpaid')) { $colspan++; $html .= "".$i18n->get('label.paid').''; } @@ -174,7 +179,7 @@ if ($totals_only) { if ($cur_grouped_by != $prev_grouped_by && !$first_pass) { $html .= ''; $html .= ''.$i18n->get('label.subtotal').''; - if ($user->canManageTeam() || $user->isClient()) { + if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) { $html .= ''; if ($group_by == 'user') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); $html .= ''; @@ -202,10 +207,11 @@ if ($totals_only) { if ($bean->getAttribute('chstart')) $html .= ''; if ($bean->getAttribute('chfinish')) $html .= ''; if ($bean->getAttribute('chduration')) $html .= "".$subtotals[$prev_grouped_by]['time'].''; + if ($bean->getAttribute('chunits')) $html .= "".$subtotals[$prev_grouped_by]['units'].''; if ($bean->getAttribute('chnote')) $html .= ''; if ($bean->getAttribute('chcost')) { $html .= ""; - if ($user->canManageTeam() || $user->isClient()) + if ($user->can('manage_invoices') || $user->isClient()) $html .= $subtotals[$prev_grouped_by]['cost']; else $html .= $subtotals[$prev_grouped_by]['expenses']; @@ -223,7 +229,7 @@ if ($totals_only) { // Print a regular row. $html .= ''; $html .= ''.$item['date'].''; - if ($user->canManageTeam() || $user->isClient()) $html .= ''.htmlspecialchars($item['user']).''; + if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) $html .= ''.htmlspecialchars($item['user']).''; if ($bean->getAttribute('chclient')) $html .= ''.htmlspecialchars($item['client']).''; if ($bean->getAttribute('chproject')) $html .= ''.htmlspecialchars($item['project']).''; if ($bean->getAttribute('chtask')) $html .= ''.htmlspecialchars($item['task']).''; @@ -231,10 +237,11 @@ if ($totals_only) { if ($bean->getAttribute('chstart')) $html .= "".$item['start'].''; if ($bean->getAttribute('chfinish')) $html .= "".$item['finish'].''; if ($bean->getAttribute('chduration')) $html .= "".$item['duration'].''; + if ($bean->getAttribute('chunits')) $html .= "".$item['units'].''; if ($bean->getAttribute('chnote')) $html .= ''.htmlspecialchars($item['note']).''; if ($bean->getAttribute('chcost')) { $html .= ""; - if ($user->canManageTeam() || $user->isClient()) + if ($user->can('manage_invoices') || $user->isClient()) $html .= $item['cost']; else $html .= $item['expense']; @@ -261,7 +268,7 @@ if ($totals_only) { if ($print_subtotals) { $html .= ''; $html .= ''.$i18n->get('label.subtotal').''; - if ($user->canManageTeam() || $user->isClient()) { + if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) { $html .= ''; if ($group_by == 'user') $html .= htmlspecialchars($subtotals[$prev_grouped_by]['name']); $html .= ''; @@ -289,10 +296,11 @@ if ($totals_only) { if ($bean->getAttribute('chstart')) $html .= ''; if ($bean->getAttribute('chfinish')) $html .= ''; if ($bean->getAttribute('chduration')) $html .= "".$subtotals[$prev_grouped_by]['time'].''; + if ($bean->getAttribute('chunits')) $html .= "".$subtotals[$prev_grouped_by]['units'].''; if ($bean->getAttribute('chnote')) $html .= ''; if ($bean->getAttribute('chcost')) { $html .= ""; - if ($user->canManageTeam() || $user->isClient()) + if ($user->can('manage_invoices') || $user->isClient()) $html .= $subtotals[$prev_grouped_by]['cost']; else $html .= $subtotals[$prev_grouped_by]['expenses']; @@ -308,7 +316,7 @@ if ($totals_only) { $html .= ' '; $html .= ''; $html .= ''.$i18n->get('label.total').''; - if ($user->canManageTeam() || $user->isClient()) $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 .= ''; @@ -316,10 +324,11 @@ if ($totals_only) { if ($bean->getAttribute('chstart')) $html .= ''; if ($bean->getAttribute('chfinish')) $html .= ''; if ($bean->getAttribute('chduration')) $html .= "".$totals['time'].''; + if ($bean->getAttribute('chunits')) $html .= "".$totals['units'].''; if ($bean->getAttribute('chnote')) $html .= ''; if ($bean->getAttribute('chcost')) { $html .= "".htmlspecialchars($user->currency).' '; - if ($user->canManageTeam() || $user->isClient()) + if ($user->can('manage_invoices') || $user->isClient()) $html .= $totals['cost']; else $html .= $totals['expenses'];