9e215c4dfa5875a3532e98c3a49e599bd0f8041a
[timetracker.git] / WEB-INF / templates / report.tpl
1 <script>
2   function chLocation(newLocation) { document.location = newLocation; }
3 </script>
4
5 {$forms.reportViewForm.open}
6 <table width="720">
7   <td valign="top">
8     <table border="0" cellpadding="3" cellspacing="1" width="100%">
9       <tr>
10         <td valign="top" class="sectionHeaderNoBorder" align="center">{$i18n.form.report.export} {if file_exists('WEB-INF/lib/tcpdf')}<a href="topdf.php">PDF</a>,{/if} <a href="tofile.php?type=xml">XML</a> {$i18n.label.or} <a href="tofile.php?type=csv">CSV</a></td>
11       </tr>
12     </table>
13     <table border="0" cellpadding="3" cellspacing="1" width="100%">
14 <!-- totals only report -->
15 {if $bean->getAttribute('chtotalsonly')}
16       <tr>
17         <td class="tableHeader">{$group_by_header|escape}</td>
18         {if $bean->getAttribute('chduration')}<td class="tableHeaderCentered" width="5%">{$i18n.label.duration}</td>{/if}
19         {if $bean->getAttribute('chunits')}<td class="tableHeaderCentered" width="5%">{$i18n.label.work_units_short}</td>{/if}
20         {if $bean->getAttribute('chcost')}<td class="tableHeaderCentered" width="5%">{$i18n.label.cost}</td>{/if}
21       </tr>
22   {foreach $subtotals as $subtotal}
23       <tr class="rowReportSubtotal">
24         <td class="cellLeftAlignedSubtotal">{if $subtotal['name']}{$subtotal['name']|escape}{else}&nbsp;{/if}</td>
25         {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$subtotal['time']}</td>{/if}
26         {if $bean->getAttribute('chunits')}<td class="cellRightAlignedSubtotal">{$subtotal['units']}</td>{/if}
27         {if $bean->getAttribute('chcost')}<td class="cellRightAlignedSubtotal">{if $user->can('manage_invoices') || $user->isClient()}{$subtotal['cost']}{else}{$subtotal['expenses']}{/if}</td>{/if}
28       </tr>
29   {/foreach}
30       <!-- print totals -->
31       <tr><td>&nbsp;</td></tr>
32       <tr class="rowReportSubtotal">
33         <td class="cellLeftAlignedSubtotal">{$i18n.label.total}</td>
34         {if $bean->getAttribute('chduration')}<td nowrap class="cellRightAlignedSubtotal">{$totals['time']}</td>{/if}
35         {if $bean->getAttribute('chunits')}<td nowrap class="cellRightAlignedSubtotal">{$totals['units']}</td>{/if}
36         {if $bean->getAttribute('chcost')}<td nowrap class="cellRightAlignedSubtotal">{$user->currency|escape} {if $user->can('manage_invoices') || $user->isClient()}{$totals['cost']}{else}{$totals['expenses']}{/if}</td>{/if}
37       </tr>
38 {else}
39 <!-- normal report -->
40       <tr>
41         <td class="tableHeader">{$i18n.label.date}</td>
42   {if $user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()}<td class="tableHeader">{$i18n.label.user}</td>{/if}
43   {if $bean->getAttribute('chclient')}<td class="tableHeader">{$i18n.label.client}</td>{/if}
44   {if $bean->getAttribute('chproject')}<td class="tableHeader">{$i18n.label.project}</td>{/if}
45   {if $bean->getAttribute('chtask')}<td class="tableHeader">{$i18n.label.task}</td>{/if}
46   {if $bean->getAttribute('chcf_1')}<td class="tableHeader">{$custom_fields->fields[0]['label']|escape}</td>{/if}
47   {if $bean->getAttribute('chstart')}<td class="tableHeaderCentered" width="5%">{$i18n.label.start}</td>{/if}
48   {if $bean->getAttribute('chfinish')}<td class="tableHeaderCentered" width="5%">{$i18n.label.finish}</td>{/if}
49   {if $bean->getAttribute('chduration')}<td class="tableHeaderCentered" width="5%">{$i18n.label.duration}</td>{/if}
50   {if $bean->getAttribute('chunits')}<td class="tableHeaderCentered" width="5%">{$i18n.label.work_units_short}</td>{/if}
51   {if $bean->getAttribute('chnote')}<td class="tableHeader">{$i18n.label.note}</td>{/if}
52   {if $bean->getAttribute('chcost')}<td class="tableHeaderCentered" width="5%">{$i18n.label.cost}</td>{/if}
53   {if $bean->getAttribute('chapproved')}<td class="tableHeader">{$i18n.label.approved}</td>{/if}
54   {if $bean->getAttribute('chpaid')}<td class="tableHeader">{$i18n.label.paid}</td>{/if}
55   {if $bean->getAttribute('chip')}<td class="tableHeaderCentered">{$i18n.label.ip}</td>{/if}
56   {if $bean->getAttribute('chinvoice')}<td class="tableHeader">{$i18n.label.invoice}</td>{/if}
57   {if $bean->getAttribute('chtimesheet')}<td class="tableHeader">{$i18n.label.timesheet}</td>{/if}
58       </tr>
59   {foreach $report_items as $item}
60     <!-- print subtotal for a block of grouped values -->
61     {$cur_date = $item.date}
62     {if $print_subtotals}
63       {$cur_grouped_by = $item.grouped_by}
64       {if $cur_grouped_by != $prev_grouped_by && !$first_pass}
65       <tr class="rowReportSubtotal">
66         <td class="cellLeftAlignedSubtotal">{$i18n.label.subtotal}
67         {if $user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()}<td class="cellLeftAlignedSubtotal">{$subtotals[$prev_grouped_by]['user']|escape}</td>{/if}
68         {if $bean->getAttribute('chclient')}<td class="cellLeftAlignedSubtotal">{$subtotals[$prev_grouped_by]['client']|escape}</td>{/if}
69         {if $bean->getAttribute('chproject')}<td class="cellLeftAlignedSubtotal">{$subtotals[$prev_grouped_by]['project']|escape}</td>{/if}
70         {if $bean->getAttribute('chtask')}<td class="cellLeftAlignedSubtotal">{$subtotals[$prev_grouped_by]['task']|escape}</td>{/if}
71         {if $bean->getAttribute('chcf_1')}<td class="cellLeftAlignedSubtotal">{$subtotals[$prev_grouped_by]['cf_1']|escape}</td>{/if}
72         {if $bean->getAttribute('chstart')}<td></td>{/if}
73         {if $bean->getAttribute('chfinish')}<td></td>{/if}
74         {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$subtotals[$prev_grouped_by]['time']}</td>{/if}
75         {if $bean->getAttribute('chunits')}<td class="cellRightAlignedSubtotal">{$subtotals[$prev_grouped_by]['units']}</td>{/if}
76         {if $bean->getAttribute('chnote')}<td></td>{/if}
77         {if $bean->getAttribute('chcost')}<td class="cellRightAlignedSubtotal">{if $user->can('manage_invoices') || $user->isClient()}{$subtotals[$prev_grouped_by]['cost']}{else}{$subtotals[$prev_grouped_by]['expenses']}{/if}</td>{/if}
78         {if $bean->getAttribute('chapproved')}<td></td>{/if}
79         {if $bean->getAttribute('chpaid')}<td></td>{/if}
80         {if $bean->getAttribute('chip')}<td></td>{/if}
81         {if $bean->getAttribute('chinvoice')}<td></td>{/if}
82         {if $bean->getAttribute('chtimesheet')}<td></td>{/if}
83         {if $use_checkboxes}<td></td>{/if}
84       </tr>
85       <tr><td>&nbsp;</td></tr>
86       {/if}
87     {$first_pass = false}
88     {/if}
89       <!--  print regular row --> 
90       {if $cur_date != $prev_date}
91         {if $report_row_class == 'rowReportItem'} {$report_row_class = 'rowReportItemAlt'} {else} {$report_row_class = 'rowReportItem'} {/if}
92       {/if}
93       <tr class="{$report_row_class}">
94         <td class="cellLeftAligned">{$item.date}</td>
95     {if $user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()}<td class="cellLeftAligned">{$item.user|escape}</td>{/if}
96     {if $bean->getAttribute('chclient')}<td class="cellLeftAligned">{$item.client|escape}</td>{/if}
97     {if $bean->getAttribute('chproject')}<td class="cellLeftAligned">{$item.project|escape}</td>{/if}
98     {if $bean->getAttribute('chtask')}<td class="cellLeftAligned">{$item.task|escape}</td>{/if}
99     {if $bean->getAttribute('chcf_1')}<td class="cellLeftAligned">{$item.cf_1|escape}</td>{/if}
100     {if $bean->getAttribute('chstart')}<td nowrap class="cellRightAligned">{$item.start}</td>{/if}
101     {if $bean->getAttribute('chfinish')}<td nowrap class="cellRightAligned">{$item.finish}</td>{/if}
102     {if $bean->getAttribute('chduration')}<td class="cellRightAligned">{$item.duration}</td>{/if}
103     {if $bean->getAttribute('chunits')}<td class="cellRightAligned">{$item.units}</td>{/if}
104     {if $bean->getAttribute('chnote')}<td class="cellLeftAligned">{$item.note|escape}</td>{/if}
105     {if $bean->getAttribute('chcost')}<td class="cellRightAligned">{if $user->can('manage_invoices') || $user->isClient()}{$item.cost}{else}{$item.expense}{/if}</td>{/if}
106     {if $bean->getAttribute('chapproved')}<td class="cellRightAligned">{if $item.approved == 1}{$i18n.label.yes}{else}{$i18n.label.no}{/if}{/if}
107     {if $bean->getAttribute('chpaid')}<td class="cellRightAligned">{if $item.paid == 1}{$i18n.label.yes}{else}{$i18n.label.no}{/if}{/if}
108     {if $bean->getAttribute('chip')}<td class="cellRightAligned">{if $item.modified}{$item.modified_ip} {$item.modified}{else}{$item.created_ip} {$item.created}{/if}{/if}
109     {if $bean->getAttribute('chinvoice')}<td class="cellRightAligned">{$item.invoice|escape}</td>{/if}
110     {if $bean->getAttribute('chtimesheet')}<td class="cellRightAligned">{$item.timesheet_name|escape}</td>{/if}
111     {if $use_checkboxes}
112       {if 1 == $item.type}<td bgcolor="white"><input type="checkbox" name="log_id_{$item.id}"></td>{/if}
113       {if 2 == $item.type}<td bgcolor="white"><input type="checkbox" name="item_id_{$item.id}"></td>{/if}
114     {/if}
115       </tr>
116     {$prev_date = $item.date}
117     {if $print_subtotals} {$prev_grouped_by = $item.grouped_by} {/if}
118   {/foreach}
119   <!-- print a terminating subtotal -->
120   {if $print_subtotals}
121       <tr class="rowReportSubtotal">
122         <td class="cellLeftAlignedSubtotal">{$i18n.label.subtotal}
123     {if $user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()}<td class="cellLeftAlignedSubtotal">{$subtotals[$cur_grouped_by]['user']|escape}</td>{/if}
124     {if $bean->getAttribute('chclient')}<td class="cellLeftAlignedSubtotal">{$subtotals[$cur_grouped_by]['client']|escape}</td>{/if}
125     {if $bean->getAttribute('chproject')}<td class="cellLeftAlignedSubtotal">{$subtotals[$cur_grouped_by]['project']|escape}</td>{/if}
126     {if $bean->getAttribute('chtask')}<td class="cellLeftAlignedSubtotal">{$subtotals[$cur_grouped_by]['task']|escape}</td>{/if}
127     {if $bean->getAttribute('chcf_1')}<td class="cellLeftAlignedSubtotal">{$subtotals[$cur_grouped_by]['cf_1']|escape}</td>{/if}
128     {if $bean->getAttribute('chstart')}<td></td>{/if}
129     {if $bean->getAttribute('chfinish')}<td></td>{/if}
130     {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$subtotals[$cur_grouped_by]['time']}</td>{/if}
131     {if $bean->getAttribute('chunits')}<td class="cellRightAlignedSubtotal">{$subtotals[$cur_grouped_by]['units']}</td>{/if}
132     {if $bean->getAttribute('chnote')}<td></td>{/if}
133     {if $bean->getAttribute('chcost')}<td class="cellRightAlignedSubtotal">{if $user->can('manage_invoices') || $user->isClient()}{$subtotals[$cur_grouped_by]['cost']}{else}{$subtotals[$cur_grouped_by]['expenses']}{/if}</td>{/if}
134     {if $bean->getAttribute('chapproved')}<td></td>{/if}
135     {if $bean->getAttribute('chpaid')}<td></td>{/if}
136     {if $bean->getAttribute('chip')}<td></td>{/if}
137     {if $bean->getAttribute('chinvoice')}<td></td>{/if}
138     {if $bean->getAttribute('chtimesheet')}<td></td>{/if}
139     {if $use_checkboxes}<td></td>{/if}
140       </tr>
141   {/if}
142   <!-- print totals -->
143       <tr><td>&nbsp;</td></tr>
144       <tr class="rowReportSubtotal">
145         <td class="cellLeftAlignedSubtotal">{$i18n.label.total}</td>
146     {if $user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()}<td></td>{/if}
147     {if $bean->getAttribute('chclient')}<td></td>{/if}
148     {if $bean->getAttribute('chproject')}<td></td>{/if}
149     {if $bean->getAttribute('chtask')}<td></td>{/if}
150     {if $bean->getAttribute('chcf_1')}<td></td>{/if}
151     {if $bean->getAttribute('chstart')}<td></td>{/if}
152     {if $bean->getAttribute('chfinish')}<td></td>{/if}
153     {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$totals['time']}</td>{/if}
154     {if $bean->getAttribute('chunits')}<td class="cellRightAlignedSubtotal">{$totals['units']}</td>{/if}
155     {if $bean->getAttribute('chnote')}<td></td>{/if}
156     {if $bean->getAttribute('chcost')}<td nowrap class="cellRightAlignedSubtotal">{$user->currency|escape} {if $user->can('manage_invoices') || $user->isClient()}{$totals['cost']}{else}{$totals['expenses']}{/if}</td>{/if}
157     {if $bean->getAttribute('chapproved')}<td></td>{/if}
158     {if $bean->getAttribute('chpaid')}<td></td>{/if}
159     {if $bean->getAttribute('chip')}<td></td>{/if}
160     {if $bean->getAttribute('chinvoice')}<td></td>{/if}
161     {if $bean->getAttribute('chtimesheet')}<td></td>{/if}
162     {if $use_checkboxes}<td></td>{/if}
163       </tr>
164 {/if}
165     </table>
166   </td>
167 </tr>
168 </table>
169 {if $report_items && ($use_mark_approved || $use_mark_paid || $use_assign_to_invoice || $use_assign_to_timesheet)}
170 <table width="720" cellspacing="0" cellpadding="0" border="0">
171   {if $use_mark_approved}
172   <tr>
173     <td align="right">
174       <table>
175         <tr><td>{$i18n.label.mark_approved}: {$forms.reportViewForm.mark_approved_select_options.control} {$forms.reportViewForm.mark_approved_action_options.control} {$forms.reportViewForm.btn_mark_approved.control}</td></tr>
176       </table>
177     </td>
178   </tr>
179   {/if}
180   {if $use_mark_paid}
181   <tr>
182     <td align="right">
183       <table>
184         <tr><td>{$i18n.label.mark_paid}: {$forms.reportViewForm.mark_paid_select_options.control} {$forms.reportViewForm.mark_paid_action_options.control} {$forms.reportViewForm.btn_mark_paid.control}</td></tr>
185       </table>
186     </td>
187   </tr>
188   {/if}
189   {if $use_assign_to_invoice}
190   <tr>
191     <td align="right">
192       <table>
193         <tr><td>{$i18n.form.report.assign_to_invoice}: {$forms.reportViewForm.assign_invoice_select_options.control} {$forms.reportViewForm.recent_invoice.control} {$forms.reportViewForm.btn_assign_invoice.control}</td></tr>
194       </table>
195     </td>
196   </tr>
197   {/if}
198   {if $use_assign_to_timesheet}
199   <tr>
200     <td align="right">
201       <table>
202         <tr><td>{$i18n.form.report.assign_to_timesheet}: {$forms.reportViewForm.assign_timesheet_select_options.control} {$forms.reportViewForm.timesheet.control} {$forms.reportViewForm.btn_assign_timesheet.control}</td></tr>
203       </table>
204     </td>
205   </tr>
206   {/if}
207 </table>
208 {/if}
209 {$forms.reportViewForm.close}
210
211 <table width="720" cellspacing="4" cellpadding="4" border="0">
212 <tr>
213   <td align="center">
214   <table>
215   <tr>
216     <td><input type="button" onclick="chLocation('report_send.php');" value="{$i18n.button.send_by_email}"></td>
217   </tr>
218   </table>
219   </td>
220 </tr>
221 </table>