X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/a001599f5d6f1a803a279e602d3333cc036b69cc..b55f038f3aa3d23376a9a68d22109f7be5ba1f09:/WEB-INF/lib/ttReportHelper.class.php diff --git a/WEB-INF/lib/ttReportHelper.class.php b/WEB-INF/lib/ttReportHelper.class.php index 5d9de074..c4554861 100644 --- a/WEB-INF/lib/ttReportHelper.class.php +++ b/WEB-INF/lib/ttReportHelper.class.php @@ -659,6 +659,29 @@ class ttReportHelper { } } + // The markApproved marks a set of records as either approved or unapproved. + static function markApproved($time_log_ids, $expense_item_ids, $approved = true) { + global $user; + $mdb2 = getConnection(); + + $group_id = $user->getGroup(); + $org_id = $user->org_id; + + $approved_val = (int) $approved; + if ($time_log_ids) { + $sql = "update tt_log set approved = $approved_val". + " where id in(".join(', ', $time_log_ids).") and group_id = $group_id and org_id = $org_id"; + $affected = $mdb2->exec($sql); + if (is_a($affected, 'PEAR_Error')) die($affected->getMessage()); + } + if ($expense_item_ids) { + $sql = "update tt_expense_items set approved = $approved_val". + " where id in(".join(', ', $expense_item_ids).") and group_id = $group_id and org_id = $org_id"; + $affected = $mdb2->exec($sql); + if (is_a($affected, 'PEAR_Error')) die($affected->getMessage()); + } + } + // The markPaid marks a set of records as either paid or unpaid. static function markPaid($time_log_ids, $expense_item_ids, $paid = true) { global $user; @@ -811,12 +834,16 @@ class ttReportHelper { $body .= ''.$i18n->get('label.note').''; if ($options['show_cost']) $body .= ''.$i18n->get('label.cost').''; + if ($options['show_approved']) + $body .= ''.$i18n->get('label.approved').''; if ($options['show_paid']) $body .= ''.$i18n->get('label.paid').''; if ($options['show_ip']) $body .= ''.$i18n->get('label.ip').''; if ($options['show_invoice']) $body .= ''.$i18n->get('label.invoice').''; + if ($options['show_timesheet']) + $body .= ''.$i18n->get('label.timesheet').''; $body .= ''; // Initialize variables to print subtotals. @@ -857,9 +884,11 @@ class ttReportHelper { $body .= ($canViewReports || $isClient) ? $subtotals[$prev_grouped_by]['cost'] : $subtotals[$prev_grouped_by]['expenses']; $body .= ''; } + if ($options['show_approved']) $body .= ''; if ($options['show_paid']) $body .= ''; if ($options['show_ip']) $body .= ''; if ($options['show_invoice']) $body .= ''; + if ($options['show_timesheet']) $body .= ''; $body .= ''; $body .= ' '; } @@ -893,6 +922,11 @@ class ttReportHelper { $body .= ''.htmlspecialchars($record['note']).''; if ($options['show_cost']) $body .= ''.$record['cost'].''; + if ($options['show_approved']) { + $body .= ''; + $body .= $record['approved'] == 1 ? $i18n->get('label.yes') : $i18n->get('label.no'); + $body .= ''; + } if ($options['show_paid']) { $body .= ''; $body .= $record['paid'] == 1 ? $i18n->get('label.yes') : $i18n->get('label.no'); @@ -905,6 +939,8 @@ class ttReportHelper { } if ($options['show_invoice']) $body .= ''.htmlspecialchars($record['invoice']).''; + if ($options['show_timesheet']) + $body .= ''.htmlspecialchars($record['timesheet']).''; $body .= ''; $prev_date = $record['date']; @@ -933,9 +969,11 @@ class ttReportHelper { $body .= ($canViewReports || $isClient) ? $subtotals[$cur_grouped_by]['cost'] : $subtotals[$cur_grouped_by]['expenses']; $body .= ''; } + if ($options['show_approved']) $body .= ''; if ($options['show_paid']) $body .= ''; if ($options['show_ip']) $body .= ''; if ($options['show_invoice']) $body .= ''; + if ($options['show_timesheet']) $body .= ''; $body .= ''; } @@ -958,9 +996,11 @@ class ttReportHelper { $body .= ($canViewReports || $isClient) ? $totals['cost'] : $totals['expenses']; $body .= ''; } + if ($options['show_approved']) $body .= ''; if ($options['show_paid']) $body .= ''; if ($options['show_ip']) $body .= ''; if ($options['show_invoice']) $body .= ''; + if ($options['show_timesheet']) $body .= ''; $body .= ''; $body .= ''; @@ -1064,9 +1104,9 @@ class ttReportHelper { $options['invoice'] = $bean->getAttribute('invoice'); $options['paid_status'] = $bean->getAttribute('paid_status'); $options['approved'] = $bean->getAttribute('approved'); + if ($user->isPluginEnabled('ap') && $user->isClient() && !$user->can('view_client_unapproved')) + $options['approved'] = 1; // Restrict clients to approved records only. $options['timesheet'] = $bean->getAttribute('timesheet'); - if ($user->isPluginEnabled('ts') && $user->isClient() && !$user->can('view_client_unapproved')) - $options['timesheet'] = TIMESHEET_APPROVED; // Restrict clients to approved timesheet records only. if (is_array($bean->getAttribute('users'))) $options['users'] = join(',', $bean->getAttribute('users')); $options['period'] = $bean->getAttribute('period'); $options['period_start'] = $bean->getAttribute('start_date');