projects
/
timetracker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adjusted time.php to honor note on separate row option.
[timetracker.git]
/
WEB-INF
/
lib
/
ttReportHelper.class.php
diff --git
a/WEB-INF/lib/ttReportHelper.class.php
b/WEB-INF/lib/ttReportHelper.class.php
index
74f2537
..
088280c
100644
(file)
--- a/
WEB-INF/lib/ttReportHelper.class.php
+++ b/
WEB-INF/lib/ttReportHelper.class.php
@@
-30,6
+30,7
@@
import('ttClientHelper');
import('DateAndTime');
import('Period');
import('ttTimeHelper');
import('DateAndTime');
import('Period');
import('ttTimeHelper');
+import('ttConfigHelper');
require_once(dirname(__FILE__).'/../../plugins/CustomFields.class.php');
require_once(dirname(__FILE__).'/../../plugins/CustomFields.class.php');
@@
-360,6
+361,9
@@
class ttReportHelper {
array_push($fields, 'i.name as invoice');
if ($options['show_timesheet'])
array_push($fields, 'null as timesheet_name');
array_push($fields, 'i.name as invoice');
if ($options['show_timesheet'])
array_push($fields, 'null as timesheet_name');
+ // Add has_files.
+ if ($options['show_files'])
+ array_push($fields, 'if(Sub1.entity_id is null, 0, 1) as has_files');
// Prepare sql query part for left joins.
$left_joins = null;
// Prepare sql query part for left joins.
$left_joins = null;
@@
-371,6
+375,11
@@
class ttReportHelper {
$left_joins .= " left join tt_projects p on (p.id = ei.project_id)";
if (($canViewReports || $isClient) && $options['show_invoice'])
$left_joins .= " left join tt_invoices i on (i.id = ei.invoice_id and i.status = 1)";
$left_joins .= " left join tt_projects p on (p.id = ei.project_id)";
if (($canViewReports || $isClient) && $options['show_invoice'])
$left_joins .= " left join tt_invoices i on (i.id = ei.invoice_id and i.status = 1)";
+ if ($options['show_files']) {
+ $left_joins .= " left join (select distinct entity_id from tt_files".
+ " where entity_type = 'expense' and group_id = $group_id and org_id = $org_id and status = 1) Sub1".
+ " on (ei.id = Sub1.entity_id)";
+ }
$where = ttReportHelper::getExpenseWhere($options);
$where = ttReportHelper::getExpenseWhere($options);
@@
-727,6
+736,10
@@
class ttReportHelper {
$canViewReports = $user->can('view_reports') || $user->can('view_all_reports');
$isClient = $user->isClient();
$canViewReports = $user->can('view_reports') || $user->can('view_all_reports');
$isClient = $user->isClient();
+ $config = new ttConfigHelper($user->getConfig());
+ $show_note_column = $options['show_note'] && !$config->getDefinedValue('report_note_on_separate_row');
+ $show_note_row = $options['show_note'] && $config->getDefinedValue('report_note_on_separate_row');
+
$items = ttReportHelper::getItems($options);
$grouping = ttReportHelper::grouping($options);
if ($grouping)
$items = ttReportHelper::getItems($options);
$grouping = ttReportHelper::grouping($options);
if ($grouping)
@@
-860,6
+873,8
@@
class ttReportHelper {
$body .= '<td style="'.$tableHeaderCentered.'" width="5%">'.$i18n->get('label.duration').'</td>';
if ($options['show_work_units'])
$body .= '<td style="'.$tableHeaderCentered.'" width="5%">'.$i18n->get('label.work_units_short').'</td>';
$body .= '<td style="'.$tableHeaderCentered.'" width="5%">'.$i18n->get('label.duration').'</td>';
if ($options['show_work_units'])
$body .= '<td style="'.$tableHeaderCentered.'" width="5%">'.$i18n->get('label.work_units_short').'</td>';
+ if ($show_note_column)
+ $body .= '<td style="'.$tableHeader.'">'.$i18n->get('label.note').'</td>';
if ($options['show_cost'])
$body .= '<td style="'.$tableHeaderCentered.'" width="5%">'.$i18n->get('label.cost').'</td>';
if ($options['show_approved'])
if ($options['show_cost'])
$body .= '<td style="'.$tableHeaderCentered.'" width="5%">'.$i18n->get('label.cost').'</td>';
if ($options['show_approved'])
@@
-906,6
+921,7
@@
class ttReportHelper {
if ($options['show_end']) $body .= '<td></td>';
if ($options['show_duration']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$prev_grouped_by]['time'].'</td>';
if ($options['show_work_units']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$prev_grouped_by]['units'].'</td>';
if ($options['show_end']) $body .= '<td></td>';
if ($options['show_duration']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$prev_grouped_by]['time'].'</td>';
if ($options['show_work_units']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$prev_grouped_by]['units'].'</td>';
+ if ($show_note_column) $body .= '<td></td>';
if ($options['show_cost']) {
$body .= '<td style="'.$cellRightAlignedSubtotal.'">';
$body .= ($canViewReports || $isClient) ? $subtotals[$prev_grouped_by]['cost'] : $subtotals[$prev_grouped_by]['expenses'];
if ($options['show_cost']) {
$body .= '<td style="'.$cellRightAlignedSubtotal.'">';
$body .= ($canViewReports || $isClient) ? $subtotals[$prev_grouped_by]['cost'] : $subtotals[$prev_grouped_by]['expenses'];
@@
-945,6
+961,8
@@
class ttReportHelper {
$body .= '<td style="'.$cellRightAligned.'">'.$record['duration'].'</td>';
if ($options['show_work_units'])
$body .= '<td style="'.$cellRightAligned.'">'.$record['units'].'</td>';
$body .= '<td style="'.$cellRightAligned.'">'.$record['duration'].'</td>';
if ($options['show_work_units'])
$body .= '<td style="'.$cellRightAligned.'">'.$record['units'].'</td>';
+ if ($show_note_column)
+ $body .= '<td style="'.$cellLeftAligned.'">'.htmlspecialchars($record['note']).'</td>';
if ($options['show_cost'])
$body .= '<td style="'.$cellRightAligned.'">'.$record['cost'].'</td>';
if ($options['show_approved']) {
if ($options['show_cost'])
$body .= '<td style="'.$cellRightAligned.'">'.$record['cost'].'</td>';
if ($options['show_approved']) {
@@
-967,7
+985,7
@@
class ttReportHelper {
if ($options['show_timesheet'])
$body .= '<td style="'.$cellRightAligned.'">'.htmlspecialchars($record['timesheet']).'</td>';
$body .= '</tr>';
if ($options['show_timesheet'])
$body .= '<td style="'.$cellRightAligned.'">'.htmlspecialchars($record['timesheet']).'</td>';
$body .= '</tr>';
- if ($
options['show_note']
&& $record['note']) {
+ if ($
show_note_row
&& $record['note']) {
$body .= '<tr style="'.$row_style.'">';
$body .= '<td style="'.$cellRightAligned.'">'.$i18n->get('label.note').':</td>';
$body .= '<td colspan="'.$colspan.'">'.$record['note'].'</td>';
$body .= '<tr style="'.$row_style.'">';
$body .= '<td style="'.$cellRightAligned.'">'.$i18n->get('label.note').':</td>';
$body .= '<td colspan="'.$colspan.'">'.$record['note'].'</td>';
@@
-993,6
+1011,7
@@
class ttReportHelper {
if ($options['show_end']) $body .= '<td></td>';
if ($options['show_duration']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$cur_grouped_by]['time'].'</td>';
if ($options['show_work_units']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$cur_grouped_by]['units'].'</td>';
if ($options['show_end']) $body .= '<td></td>';
if ($options['show_duration']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$cur_grouped_by]['time'].'</td>';
if ($options['show_work_units']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$subtotals[$cur_grouped_by]['units'].'</td>';
+ if ($show_note_column) $body .= '<td></td>';
if ($options['show_cost']) {
$body .= '<td style="'.$cellRightAlignedSubtotal.'">';
$body .= ($canViewReports || $isClient) ? $subtotals[$cur_grouped_by]['cost'] : $subtotals[$cur_grouped_by]['expenses'];
if ($options['show_cost']) {
$body .= '<td style="'.$cellRightAlignedSubtotal.'">';
$body .= ($canViewReports || $isClient) ? $subtotals[$cur_grouped_by]['cost'] : $subtotals[$cur_grouped_by]['expenses'];
@@
-1019,6
+1038,7
@@
class ttReportHelper {
if ($options['show_end']) $body .= '<td></td>';
if ($options['show_duration']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$totals['time'].'</td>';
if ($options['show_work_units']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$totals['units'].'</td>';
if ($options['show_end']) $body .= '<td></td>';
if ($options['show_duration']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$totals['time'].'</td>';
if ($options['show_work_units']) $body .= '<td style="'.$cellRightAlignedSubtotal.'">'.$totals['units'].'</td>';
+ if ($show_note_column) $body .= '<td></td>';
if ($options['show_cost']) {
$body .= '<td nowrap style="'.$cellRightAlignedSubtotal.'">'.htmlspecialchars($user->currency).' ';
$body .= ($canViewReports || $isClient) ? $totals['cost'] : $totals['expenses'];
if ($options['show_cost']) {
$body .= '<td nowrap style="'.$cellRightAlignedSubtotal.'">'.htmlspecialchars($user->currency).' ';
$body .= ($canViewReports || $isClient) ? $totals['cost'] : $totals['expenses'];