X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=topdf.php;h=c9120fcf763efd84cfec0305af3e3bb0d013393e;hb=2b39252b38f5bd1be462224fe781a40f5b0ddf95;hp=a0be19ec4826647fbf1e9be527c0c5adb15b097b;hpb=18ecb507a76c7960dd3d8d2c64264e1f4f4b8952;p=timetracker.git diff --git a/topdf.php b/topdf.php index a0be19ec..c9120fcf 100644 --- a/topdf.php +++ b/topdf.php @@ -31,6 +31,7 @@ * If installed, it is expected to be in WEB-INF/lib/tcpdf/ folder. */ require_once('initialize.php'); +import('ttConfigHelper'); import('form.Form'); import('form.ActionForm'); import('ttReportHelper'); @@ -58,6 +59,10 @@ if ($user->isPluginEnabled('cf')) { // Report settings are stored in session bean before we get here. $bean = new ActionForm('reportBean', new Form('reportForm'), $request); +$config = new ttConfigHelper($user->getConfig()); +$show_note_column = $bean->getAttribute('chnote') && !$config->getDefinedValue('report_note_on_separate_row'); +$show_note_row = $bean->getAttribute('chnote') && $config->getDefinedValue('report_note_on_separate_row'); + // There are 2 variations of report: totals only, or normal. Totals only means that the report // 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'); @@ -154,8 +159,9 @@ if ($totals_only) { 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 ($show_note_column) { $colspan++; $html .= ''.$i18n->get('label.note').''; } if ($bean->getAttribute('chcost')) { $colspan++; $html .= "".$i18n->get('label.cost').''; } + if ($bean->getAttribute('chapproved')) { $colspan++; $html .= "".$i18n->get('label.approved').''; } if ($bean->getAttribute('chpaid')) { $colspan++; $html .= "".$i18n->get('label.paid').''; } if ($bean->getAttribute('chip')) { $colspan++; $html .= "".$i18n->get('label.ip').''; } if ($bean->getAttribute('chinvoice')) { $colspan++; $html .= ''.$i18n->get('label.invoice').''; } @@ -200,7 +206,7 @@ if ($totals_only) { 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 ($show_note_column) $html .= ''; if ($bean->getAttribute('chcost')) { $html .= ""; if ($user->can('manage_invoices') || $user->isClient()) @@ -209,14 +215,24 @@ if ($totals_only) { $html .= $subtotals[$prev_grouped_by]['expenses']; $html .= ''; } + if ($bean->getAttribute('chapproved')) $html .= ''; if ($bean->getAttribute('chpaid')) $html .= ''; if ($bean->getAttribute('chip')) $html .= ''; if ($bean->getAttribute('chinvoice')) $html .= ''; if ($bean->getAttribute('chtimesheet')) $html .= ''; $html .= ''; $html .= ' '; + // TODO: page breaks on PDF reports is a rarely used feature. + // Currently without configuration capability. + // Consider adding an option to user profile instead. + if (isTrue('PDF_REPORT_PAGE_BREAKS')) { + import('ttUserConfig'); + $uc = new ttUserConfig(); + $use_breaks = $uc->getValue(SYSC_PDF_REPORT_PAGE_BREAKS); + if ($use_breaks) $html .= '
'; + } } - $first_pass = false; + $first_pass = false; } // Print a regular row. @@ -231,7 +247,7 @@ if ($totals_only) { 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 ($show_note_column) $html .= ''.htmlspecialchars($item['note']).''; if ($bean->getAttribute('chcost')) { $html .= ""; if ($user->can('manage_invoices') || $user->isClient()) @@ -240,6 +256,11 @@ if ($totals_only) { $html .= $item['expense']; $html .= ''; } + if ($bean->getAttribute('chapproved')) { + $html .= ''; + $html .= $item['approved'] == 1 ? $i18n->get('label.yes') : $i18n->get('label.no'); + $html .= ''; + } if ($bean->getAttribute('chpaid')) { $html .= ''; $html .= $item['paid'] == 1 ? $i18n->get('label.yes') : $i18n->get('label.no'); @@ -254,6 +275,14 @@ if ($totals_only) { if ($bean->getAttribute('chtimesheet')) $html .= ''.htmlspecialchars($item['timesheet_name']).''; $html .= ''; + if ($show_note_row && $item['note']) { + $html .= ''; + $html .= "".$i18n->get('label.note').''; + $noteSpan = $colspan-1; + $html .= ''.htmlspecialchars($item['note']).''; + $html .= ''; + } + $prev_date = $item['date']; if ($print_subtotals) $prev_grouped_by = $item['grouped_by']; } @@ -291,7 +320,7 @@ if ($totals_only) { 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 ($show_note_column) $html .= ''; if ($bean->getAttribute('chcost')) { $html .= ""; if ($user->can('manage_invoices') || $user->isClient()) @@ -300,6 +329,7 @@ if ($totals_only) { $html .= $subtotals[$prev_grouped_by]['expenses']; $html .= ''; } + if ($bean->getAttribute('chapproved')) $html .= ''; if ($bean->getAttribute('chpaid')) $html .= ''; if ($bean->getAttribute('chip')) $html .= ''; if ($bean->getAttribute('chinvoice')) $html .= ''; @@ -320,7 +350,7 @@ if ($totals_only) { 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 ($show_note_column) $html .= ''; if ($bean->getAttribute('chcost')) { $html .= "".htmlspecialchars($user->currency).' '; if ($user->can('manage_invoices') || $user->isClient()) @@ -329,6 +359,7 @@ if ($totals_only) { $html .= $totals['expenses']; $html .= ''; } + if ($bean->getAttribute('chapproved')) $html .= ''; if ($bean->getAttribute('chpaid')) $html .= ''; if ($bean->getAttribute('chip')) $html .= ''; if ($bean->getAttribute('chinvoice')) $html .= '';