]> wagnertech.de Git - timetracker.git/blobdiff - WEB-INF/lib/ttReportHelper.class.php
Some more refactoring.
[timetracker.git] / WEB-INF / lib / ttReportHelper.class.php
index a3b0b0d800834f266844ccc539bd0a908f265ba0..641282758f0cd2b62c3a8bf4b067e4b35b9953aa 100644 (file)
@@ -124,7 +124,7 @@ class ttReportHelper {
     $mdb2 = getConnection();
 
     // Determine these once as they are used in multiple places in this function.
-    $canViewReports = $user->can('view_reports');
+    $canViewReports = $user->can('view_reports') || $user->can('view_all_reports');
     $isClient = $user->isClient();
 
     $group_by_option = $options['group_by'];
@@ -299,18 +299,15 @@ class ttReportHelper {
       $sql = "($sql) union all ($sql_for_expense_items)";
     }
 
-// TODO: refactoring in progress down from here... The above is identical to getFavItems and is ready to merge.
-// Note: this sort part below is different in getFavItems. Need to figure out why and fix properly.
-
     // Determine sort part.
     $sort_part = ' order by ';
-    if ('no_grouping' == $group_by_option || 'date' == $group_by_option)
+    if ($group_by_option == null || 'no_grouping' == $group_by_option || 'date' == $group_by_option)
       $sort_part .= 'date';
     else
       $sort_part .= $group_by_option.', date';
-    if (($canViewReports || $isClient) && is_array($bean->getAttribute('users')) && 'user' != $group_by_option)
+    if (($canViewReports || $isClient) && $options['users'] && 'user' != $group_by_option)
       $sort_part .= ', user, type';
-    if ($bean->getAttribute('chstart'))
+    if ($options['show_start'])
       $sort_part .= ', unformatted_start';
     $sort_part .= ', id';
 
@@ -399,7 +396,7 @@ class ttReportHelper {
     $mdb2 = getConnection();
 
     // Determine these once as they are used in multiple places in this function.
-    $canViewReports = $user->can('view_reports');
+    $canViewReports = $user->can('view_reports') || $user->can('view_all_reports');
     $isClient = $user->isClient();
 
     $group_by_option = $options['group_by'];
@@ -576,11 +573,11 @@ class ttReportHelper {
 
     // Determine sort part.
     $sort_part = ' order by ';
-    if ($group_by_option == null || 'no_grouping' == $group_by_option || 'date' == $group_by_option) // TODO: fix DB for NULL values in group_by field.
+    if ($group_by_option == null || 'no_grouping' == $group_by_option || 'date' == $group_by_option)
       $sort_part .= 'date';
     else
       $sort_part .= $group_by_option.', date';
-    if (($canViewReports || $isClient) /*&& is_array($bean->getAttribute('users'))*/ && 'user' != $group_by_option)
+    if (($canViewReports || $isClient) && $options['users'] && 'user' != $group_by_option)
       $sort_part .= ', user, type';
     if ($options['show_start'])
       $sort_part .= ', unformatted_start';