X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=tofile.php;h=5a190f4bb595e6505706283b8d8ca094db5a9197;hb=e4ddcc8ecb86ac997048d648ed82402eff2cbb4a;hp=abd1f278bd855ea0ed87479f690c53fb17da2cd4;hpb=a8a4278a6a87c600835890a10c774dfdc58e930a;p=timetracker.git
diff --git a/tofile.php b/tofile.php
index abd1f278..5a190f4b 100644
--- a/tofile.php
+++ b/tofile.php
@@ -31,16 +31,17 @@ 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.
// 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.
@@ -57,10 +58,11 @@ $type = $request->getParameter('type');
$totals_only = $bean->getAttribute('chtotalsonly');
// Obtain items.
+$options = ttReportHelper::getReportOptions($bean);
if ($totals_only)
- $subtotals = ttReportHelper::getSubtotals($bean);
+ $subtotals = ttReportHelper::getSubtotals($bean, $options);
else
- $items = ttReportHelper::getItems($bean);
+ $items = ttReportHelper::getItems($bean, $options);
// Build a string to use as filename for the files being downloaded.
$filename = strtolower($i18n->get('title.report')).'_'.$bean->mValues['start_date'].'_'.$bean->mValues['end_date'];
@@ -94,9 +96,12 @@ if ('xml' == $type) {
$val = time_to_decimal($val);
print "\t\n";
}
+ if ($bean->getAttribute('chunits')) {
+ print "\t\n";
+ }
if ($bean->getAttribute('chcost')) {
print "\tcanManageTeam() || $user->isClient())
+ if ($user->can('manage_invoices') || $user->isClient())
print $subtotal['cost'];
else
print $subtotal['expenses'];
@@ -110,7 +115,7 @@ if ('xml' == $type) {
print "\n";
print "\t\n";
- if ($user->canManageTeam() || $user->isClient()) print "\t\n";
+ if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) print "\t\n";
if ($bean->getAttribute('chclient')) print "\t\n";
if ($bean->getAttribute('chproject')) print "\t\n";
if ($bean->getAttribute('chtask')) print "\t\n";
@@ -123,10 +128,11 @@ if ('xml' == $type) {
$duration = time_to_decimal($duration);
print "\t\n";
}
+ if ($bean->getAttribute('chunits')) print "\t\n";
if ($bean->getAttribute('chnote')) print "\t\n";
if ($bean->getAttribute('chcost')) {
print "\tcanManageTeam() || $user->isClient())
+ if ($user->can('manage_invoices') || $user->isClient())
print $item['cost'];
else
print $item['expense'];
@@ -170,6 +176,7 @@ if ('csv' == $type) {
// Print headers.
print '"'.$group_by_header.'"';
if ($bean->getAttribute('chduration')) print ',"'.$i18n->get('label.duration').'"';
+ if ($bean->getAttribute('chunits')) print ',"'.$i18n->get('label.work_units_short').'"';
if ($bean->getAttribute('chcost')) print ',"'.$i18n->get('label.cost').'"';
print "\n";
@@ -182,8 +189,9 @@ if ('csv' == $type) {
$val = time_to_decimal($val);
print ',"'.$val.'"';
}
+ if ($bean->getAttribute('chunits')) print ',"'.$subtotal['units'].'"';
if ($bean->getAttribute('chcost')) {
- if ($user->canManageTeam() || $user->isClient())
+ if ($user->can('manage_invoices') || $user->isClient())
print ',"'.$subtotal['cost'].'"';
else
print ',"'.$subtotal['expenses'].'"';
@@ -193,7 +201,7 @@ if ('csv' == $type) {
} else {
// Normal report. Print headers.
print '"'.$i18n->get('label.date').'"';
- if ($user->canManageTeam() || $user->isClient()) print ',"'.$i18n->get('label.user').'"';
+ if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) print ',"'.$i18n->get('label.user').'"';
if ($bean->getAttribute('chclient')) print ',"'.$i18n->get('label.client').'"';
if ($bean->getAttribute('chproject')) print ',"'.$i18n->get('label.project').'"';
if ($bean->getAttribute('chtask')) print ',"'.$i18n->get('label.task').'"';
@@ -201,6 +209,7 @@ if ('csv' == $type) {
if ($bean->getAttribute('chstart')) print ',"'.$i18n->get('label.start').'"';
if ($bean->getAttribute('chfinish')) print ',"'.$i18n->get('label.finish').'"';
if ($bean->getAttribute('chduration')) print ',"'.$i18n->get('label.duration').'"';
+ if ($bean->getAttribute('chunits')) print ',"'.$i18n->get('label.work_units_short').'"';
if ($bean->getAttribute('chnote')) print ',"'.$i18n->get('label.note').'"';
if ($bean->getAttribute('chcost')) print ',"'.$i18n->get('label.cost').'"';
if ($bean->getAttribute('chpaid')) print ',"'.$i18n->get('label.paid').'"';
@@ -211,7 +220,7 @@ if ('csv' == $type) {
// Print items.
foreach ($items as $item) {
print '"'.$item['date'].'"';
- if ($user->canManageTeam() || $user->isClient()) print ',"'.str_replace('"','""',$item['user']).'"';
+ if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) print ',"'.str_replace('"','""',$item['user']).'"';
if ($bean->getAttribute('chclient')) print ',"'.str_replace('"','""',$item['client']).'"';
if ($bean->getAttribute('chproject')) print ',"'.str_replace('"','""',$item['project']).'"';
if ($bean->getAttribute('chtask')) print ',"'.str_replace('"','""',$item['task']).'"';
@@ -224,9 +233,10 @@ if ('csv' == $type) {
$val = time_to_decimal($val);
print ',"'.$val.'"';
}
+ if ($bean->getAttribute('chunits')) print ',"'.$item['units'].'"';
if ($bean->getAttribute('chnote')) print ',"'.str_replace('"','""',$item['note']).'"';
if ($bean->getAttribute('chcost')) {
- if ($user->canManageTeam() || $user->isClient())
+ if ($user->can('manage_invoices') || $user->isClient())
print ',"'.$item['cost'].'"';
else
print ',"'.$item['expense'].'"';