X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=topdf.php;h=9d3164af1e458ecc3f939f983bc6a383e741da26;hb=47676f16efdde0b36a4ed09d2ab0476584aeb2a6;hp=3177d155973b8e67c6c7845858e97c3948a3fb96;hpb=a8a4278a6a87c600835890a10c774dfdc58e930a;p=timetracker.git diff --git a/topdf.php b/topdf.php index 3177d155..9d3164af 100644 --- a/topdf.php +++ b/topdf.php @@ -35,11 +35,12 @@ import('form.Form'); import('form.ActionForm'); import('ttReportHelper'); -// Access check. +// Access checks. if (!(ttAccessAllowed('view_own_reports') || ttAccessAllowed('view_reports'))) { header('Location: access_denied.php'); exit(); } +// End of access checks. // Check whether TCPDF library is available. if (!file_exists('WEB-INF/lib/tcpdf/')) @@ -51,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->team_id); + $custom_fields = new CustomFields($user->group_id); } // Report settings are stored in session bean before we get here. @@ -73,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) { @@ -108,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 .= ''; @@ -116,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']; @@ -131,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']; @@ -149,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').''; } @@ -157,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').''; } @@ -173,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 .= ''; @@ -201,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']; @@ -222,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']).''; @@ -230,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']; @@ -260,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 .= ''; @@ -288,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']; @@ -307,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 .= ''; @@ -315,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']; @@ -390,8 +400,8 @@ class ttPDF extends TCPDF { $pdf = new ttPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // If custom logo file exists - set it. -if (file_exists('images/'.$user->team_id.'.png')) - $pdf->SetImageFile('images/'.$user->team_id.'.png'); +if (file_exists('images/'.$user->group_id.'.png')) + $pdf->SetImageFile('images/'.$user->group_id.'.png'); // Set page word for the footer. $pdf->SetPageWord($i18n->get('label.page'));