From: Nik Okuntseff Date: Sun, 24 Feb 2019 19:05:46 +0000 (+0000) Subject: Made approval control filtering work on reports. X-Git-Tag: timetracker_1.19-1~275 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=a001599f5d6f1a803a279e602d3333cc036b69cc;p=timetracker.git Made approval control filtering work on reports. --- diff --git a/WEB-INF/lib/ttReportHelper.class.php b/WEB-INF/lib/ttReportHelper.class.php index ac3582e6..5d9de074 100644 --- a/WEB-INF/lib/ttReportHelper.class.php +++ b/WEB-INF/lib/ttReportHelper.class.php @@ -72,6 +72,8 @@ class ttReportHelper { if ($options['invoice']=='2') $dropdown_parts .= ' and l.invoice_id is null'; if ($options['timesheet']==TIMESHEET_NOT_ASSIGNED) $dropdown_parts .= ' and l.timesheet_id is null'; if ($options['timesheet']==TIMESHEET_ASSIGNED) $dropdown_parts .= ' and l.timesheet_id is not null'; + if ($options['approved']=='1') $dropdown_parts .= ' and l.approved = 1'; + if ($options['approved']=='2') $dropdown_parts .= ' and l.approved = 0'; if ($options['paid_status']=='1') $dropdown_parts .= ' and l.paid = 1'; if ($options['paid_status']=='2') $dropdown_parts .= ' and l.paid = 0'; @@ -122,6 +124,8 @@ class ttReportHelper { if ($options['invoice']=='2') $dropdown_parts .= ' and ei.invoice_id is null'; if ($options['timesheet']==TIMESHEET_NOT_ASSIGNED) $dropdown_parts .= ' and ei.timesheet_id is null'; if ($options['timesheet']==TIMESHEET_ASSIGNED) $dropdown_parts .= ' and ei.timesheet_id is not null'; + if ($options['approved']=='1') $dropdown_parts .= ' and ei.approved = 1'; + if ($options['approved']=='2') $dropdown_parts .= ' and ei.approved = 0'; if ($options['paid_status']=='1') $dropdown_parts .= ' and ei.paid = 1'; if ($options['paid_status']=='2') $dropdown_parts .= ' and ei.paid = 0'; @@ -233,6 +237,9 @@ class ttReportHelper { array_push($fields, "cast(l.billable * coalesce(upb.rate, 0) * time_to_sec(l.duration)/3600 as decimal(10,2)) as cost"); // Use project rate for user. array_push($fields, "null as expense"); } + // Add approved. + if ($options['show_approved']) + array_push($fields, 'l.approved'); // Add paid status. if ($canViewReports && $options['show_paid']) array_push($fields, 'l.paid'); @@ -329,6 +336,9 @@ class ttReportHelper { array_push($fields, 'ei.name as note'); array_push($fields, 'ei.cost as cost'); array_push($fields, 'ei.cost as expense'); + // Add approved. + if ($options['show_approved']) + array_push($fields, 'ei.approved'); // Add paid status. if ($canViewReports && $options['show_paid']) array_push($fields, 'ei.paid'); @@ -1053,6 +1063,7 @@ class ttReportHelper { $options['billable'] = $bean->getAttribute('include_records'); $options['invoice'] = $bean->getAttribute('invoice'); $options['paid_status'] = $bean->getAttribute('paid_status'); + $options['approved'] = $bean->getAttribute('approved'); $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. @@ -1062,6 +1073,7 @@ class ttReportHelper { $options['period_end'] = $bean->getAttribute('end_date'); $options['show_client'] = $bean->getAttribute('chclient'); $options['show_invoice'] = $bean->getAttribute('chinvoice'); + $options['show_approved'] = $bean->getAttribute('chapproved'); $options['show_paid'] = $bean->getAttribute('chpaid'); $options['show_ip'] = $bean->getAttribute('chip'); $options['show_project'] = $bean->getAttribute('chproject'); diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index a20299b9..a0611066 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
- {/if} {if $bean->getAttribute('chnote')}{/if} {if $bean->getAttribute('chcost')}{/if} + {if $bean->getAttribute('chapproved')}{/if} {if $bean->getAttribute('chpaid')}{/if} {if $bean->getAttribute('chip')}{/if} {if $bean->getAttribute('chinvoice')}{/if} @@ -74,6 +75,7 @@ {if $bean->getAttribute('chunits')}{/if} {if $bean->getAttribute('chnote')}{/if} {if $bean->getAttribute('chcost')}{/if} + {if $bean->getAttribute('chapproved')}{/if} {if $bean->getAttribute('chpaid')}{/if} {if $bean->getAttribute('chip')}{/if} {if $bean->getAttribute('chinvoice')}{/if} @@ -101,6 +103,7 @@ {if $bean->getAttribute('chunits')}{/if} {if $bean->getAttribute('chnote')}{/if} {if $bean->getAttribute('chcost')}{/if} + {if $bean->getAttribute('chapproved')}{/if} @@ -128,6 +131,7 @@ {if $bean->getAttribute('chunits')}{/if} {if $bean->getAttribute('chnote')}{/if} {if $bean->getAttribute('chcost')}{/if} + {if $bean->getAttribute('chapproved')}{/if} {if $bean->getAttribute('chpaid')}{/if} {if $bean->getAttribute('chip')}{/if} {if $bean->getAttribute('chinvoice')}{/if} @@ -150,6 +154,7 @@ {if $bean->getAttribute('chunits')}{/if} {if $bean->getAttribute('chnote')}{/if} {if $bean->getAttribute('chcost')}{/if} + {if $bean->getAttribute('chapproved')}{/if} {if $bean->getAttribute('chpaid')}{/if} {if $bean->getAttribute('chip')}{/if} {if $bean->getAttribute('chinvoice')}{/if}
 Anuko Time Tracker 1.18.43.4771 | Copyright © Anuko | +  Anuko Time Tracker 1.18.43.4772 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} diff --git a/WEB-INF/templates/report.tpl b/WEB-INF/templates/report.tpl index f62929f9..0de892ee 100644 --- a/WEB-INF/templates/report.tpl +++ b/WEB-INF/templates/report.tpl @@ -50,6 +50,7 @@ {if $bean->getAttribute('chunits')}{$i18n.label.work_units_short}{$i18n.label.note}{$i18n.label.cost}{$i18n.label.approved}{$i18n.label.paid}{$i18n.label.ip}{$i18n.label.invoice}{$subtotals[$prev_grouped_by]['units']}{if $user->can('manage_invoices') || $user->isClient()}{$subtotals[$prev_grouped_by]['cost']}{else}{$subtotals[$prev_grouped_by]['expenses']}{/if}{$item.units}{$item.note|escape}{if $user->can('manage_invoices') || $user->isClient()}{$item.cost}{else}{$item.expense}{/if}{if $item.approved == 1}{$i18n.label.yes}{else}{$i18n.label.no}{/if}{/if} {if $bean->getAttribute('chpaid')}{if $item.paid == 1}{$i18n.label.yes}{else}{$i18n.label.no}{/if}{/if} {if $bean->getAttribute('chip')}{if $item.modified}{$item.modified_ip} {$item.modified}{else}{$item.created_ip} {$item.created}{/if}{/if} {if $bean->getAttribute('chinvoice')}{$item.invoice|escape}{$subtotals[$cur_grouped_by]['units']}{if $user->can('manage_invoices') || $user->isClient()}{$subtotals[$cur_grouped_by]['cost']}{else}{$subtotals[$cur_grouped_by]['expenses']}{/if}{$totals['units']}{$user->currency|escape} {if $user->can('manage_invoices') || $user->isClient()}{$totals['cost']}{else}{$totals['expenses']}{/if}