X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=report.php;h=1a8ce63cc8dbe71954baa5411a9d34607603f9c1;hb=7b271fc399126b3dc32aadb30cb839241668cead;hp=1f0ec87c68b78e7227531f65d3656c3ba8defdaa;hpb=a6c4fa37379736e1c7568ccea1c5d371de7c6271;p=timetracker.git diff --git a/report.php b/report.php index 1f0ec87c..1a8ce63c 100644 --- a/report.php +++ b/report.php @@ -54,7 +54,7 @@ if ($user->isPluginEnabled('iv')) { // Use custom fields plugin if it is enabled. if ($user->isPluginEnabled('cf')) { require_once('plugins/CustomFields.class.php'); - $custom_fields = new CustomFields($user->group_id); + $custom_fields = new CustomFields(); $smarty->assign('custom_fields', $custom_fields); } @@ -69,12 +69,13 @@ $client_id = $bean->getAttribute('client'); // Do we need to show checkboxes? if ($bean->getAttribute('chpaid') || - ($client_id && $bean->getAttribute('chinvoice') && ('no_grouping' == $bean->getAttribute('group_by')) && !$user->isClient())) { - $smarty->assign('use_checkboxes', true); + ($client_id && $bean->getAttribute('chinvoice') && ('no_grouping' == $bean->getAttribute('group_by1')) && !$user->isClient())) { + if ($user->can('manage_invoices')) + $smarty->assign('use_checkboxes', true); } // Controls for "Mark paid" block. -if ($bean->getAttribute('chpaid')) { +if ($user->can('manage_invoices') && $bean->getAttribute('chpaid')) { $mark_paid_select_options = array('1'=>$i18n->get('dropdown.all'),'2'=>$i18n->get('dropdown.select')); $form->addInput(array('type'=>'combobox', 'name'=>'mark_paid_select_options', @@ -90,7 +91,8 @@ if ($bean->getAttribute('chpaid')) { } // Controls for "Assign to invoice" block. -if ($client_id && $bean->getAttribute('chinvoice') && ('no_grouping' == $bean->getAttribute('group_by')) && !$user->isClient()) { +if ($user->can('manage_invoices') && + ($client_id && $bean->getAttribute('chinvoice') && ('no_grouping' == $bean->getAttribute('group_by1')) && !$user->isClient())) { // Client is selected and we are displaying the invoice column. $recent_invoices = ttTeamHelper::getRecentInvoices($user->group_id, $client_id); if ($recent_invoices) { @@ -168,34 +170,42 @@ if ($request->isPost()) { } } // isPost -$group_by = $bean->getAttribute('group_by'); +$group_by = $bean->getAttribute('group_by1'); -$report_items = ttReportHelper::getItems($bean); +$options = ttReportHelper::getReportOptions($bean); + +$group_by_tag = ttReportHelper::makeGroupByXmlTag($options); +$report_items = ttReportHelper::getItems($options); // Store record ids in session in case user wants to act on records such as marking them all paid. if ($request->isGet() && $user->isPluginEnabled('ps')) ttReportHelper::putInSession($report_items); -if ('no_grouping' != $group_by) - $subtotals = ttReportHelper::getSubtotals($bean); -$totals = ttReportHelper::getTotals($bean); +if (ttReportHelper::grouping($options)) + $subtotals = ttReportHelper::getSubtotals($options); +$totals = ttReportHelper::getTotals($options); // Assign variables that are used to print subtotals. -if ($report_items && 'no_grouping' != $group_by) { +if ($report_items && 'no_grouping' != $group_by1) { $smarty->assign('print_subtotals', true); $smarty->assign('first_pass', true); - $smarty->assign('group_by', $group_by); + $smarty->assign('group_by1', $group_by1); $smarty->assign('prev_grouped_by', ''); $smarty->assign('cur_grouped_by', ''); } // Determine group by header. if ('no_grouping' != $group_by) { + /* if ('cf_1' == $group_by) $smarty->assign('group_by_header', $custom_fields->fields[0]['label']); else { $key = 'label.'.$group_by; $smarty->assign('group_by_header', $i18n->get($key)); - } + } */ + $smarty->assign('group_by_header', ttReportHelper::makeGroupByHeader($options)); } + +$smarty->assign('group_by', $group_by_tag); + // Assign variables that are used to alternate color of rows for different dates. $smarty->assign('prev_date', ''); $smarty->assign('cur_date', '');