+ return "$concat_part $fields_part";
+ }
+
+ // makeCombinedSelectPart builds a list of fields for a combined select on a union for getSubtotals.
+ // This is used when we include expenses.
+ static function makeCombinedSelectPart($options) {
+ $group_by1 = $options['group_by1'];
+ $group_by2 = $options['group_by2'];
+ $group_by3 = $options['group_by3'];
+
+ $fields = "group_field";
+
+ switch ($group_by1) {
+ case 'user':
+ $fields .= ', user';
+ break;
+ case 'client':
+ $fields_part .= ', client';
+ break;
+ case 'project':
+ $fields .= ', project';
+ break;
+
+ case 'task':
+ $fields .= ', task';
+ break;
+
+ case 'cf_1':
+ $fields .= ', cf_1';
+ break;
+ }
+ switch ($group_by2) {
+ case 'user':
+ $fields .= ', user';
+ break;
+ case 'client':
+ $fields_part .= ', client';
+ break;
+ case 'project':
+ $fields .= ', project';
+ break;
+
+ case 'task':
+ $fields .= ', task';
+ break;
+
+ case 'cf_1':
+ $fields .= ', cf_1';
+ break;
+ }
+ switch ($group_by3) {
+ case 'user':
+ $fields .= ', user';
+ break;
+ case 'client':
+ $fields_part .= ', client';
+ break;
+ case 'project':
+ $fields .= ', project';
+ break;
+
+ case 'task':
+ $fields .= ', task';
+ break;
+
+ case 'cf_1':
+ $fields .= ', cf_1';
+ break;
+ }
+ return $fields;