X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttReportHelper.class.php;h=088280ca0ec9cb2290059bfd86f5f11fbe597ab2;hb=148dd13e6cf7978bcb2103fe0bc75387b61b3b86;hp=74f2537f53a1c3d6215cb2a1198fcf71c9d505ce;hpb=c3e6cb49a67ee660c2eaeef53e15c85c19d805dd;p=timetracker.git
diff --git a/WEB-INF/lib/ttReportHelper.class.php b/WEB-INF/lib/ttReportHelper.class.php
index 74f2537f..088280ca 100644
--- 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('ttConfigHelper');
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');
+ // 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;
@@ -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)";
+ 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);
@@ -727,6 +736,10 @@ class ttReportHelper {
$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)
@@ -860,6 +873,8 @@ class ttReportHelper {
$body .= '
'.$i18n->get('label.duration').' | ';
if ($options['show_work_units'])
$body .= ''.$i18n->get('label.work_units_short').' | ';
+ if ($show_note_column)
+ $body .= ''.$i18n->get('label.note').' | ';
if ($options['show_cost'])
$body .= ''.$i18n->get('label.cost').' | ';
if ($options['show_approved'])
@@ -906,6 +921,7 @@ class ttReportHelper {
if ($options['show_end']) $body .= ' | ';
if ($options['show_duration']) $body .= ''.$subtotals[$prev_grouped_by]['time'].' | ';
if ($options['show_work_units']) $body .= ''.$subtotals[$prev_grouped_by]['units'].' | ';
+ if ($show_note_column) $body .= ' | ';
if ($options['show_cost']) {
$body .= '';
$body .= ($canViewReports || $isClient) ? $subtotals[$prev_grouped_by]['cost'] : $subtotals[$prev_grouped_by]['expenses'];
@@ -945,6 +961,8 @@ class ttReportHelper {
$body .= ' | '.$record['duration'].' | ';
if ($options['show_work_units'])
$body .= ''.$record['units'].' | ';
+ if ($show_note_column)
+ $body .= ''.htmlspecialchars($record['note']).' | ';
if ($options['show_cost'])
$body .= ''.$record['cost'].' | ';
if ($options['show_approved']) {
@@ -967,7 +985,7 @@ class ttReportHelper {
if ($options['show_timesheet'])
$body .= ''.htmlspecialchars($record['timesheet']).' | ';
$body .= '';
- if ($options['show_note'] && $record['note']) {
+ if ($show_note_row && $record['note']) {
$body .= '';
$body .= ''.$i18n->get('label.note').': | ';
$body .= ''.$record['note'].' | ';
@@ -993,6 +1011,7 @@ class ttReportHelper {
if ($options['show_end']) $body .= ' | ';
if ($options['show_duration']) $body .= ''.$subtotals[$cur_grouped_by]['time'].' | ';
if ($options['show_work_units']) $body .= ''.$subtotals[$cur_grouped_by]['units'].' | ';
+ if ($show_note_column) $body .= ' | ';
if ($options['show_cost']) {
$body .= '';
$body .= ($canViewReports || $isClient) ? $subtotals[$cur_grouped_by]['cost'] : $subtotals[$cur_grouped_by]['expenses'];
@@ -1019,6 +1038,7 @@ class ttReportHelper {
if ($options['show_end']) $body .= ' | | ';
if ($options['show_duration']) $body .= ''.$totals['time'].' | ';
if ($options['show_work_units']) $body .= ''.$totals['units'].' | ';
+ if ($show_note_column) $body .= ' | ';
if ($options['show_cost']) {
$body .= ''.htmlspecialchars($user->currency).' ';
$body .= ($canViewReports || $isClient) ? $totals['cost'] : $totals['expenses'];
|