e98e14cebd6f9ec6624c94b7b69f3d3ab1dacf86
[timetracker.git] / WEB-INF / templates / report.tpl
1 <script>
2   function chLocation(newLocation) { document.location = newLocation; }
3 </script>
4
5 {$forms.reportForm.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('chcost')}<td class="tableHeaderCentered" width="5%">{$i18n.label.cost}</td>{/if}
20       </tr>
21   {foreach $subtotals as $subtotal}
22       <tr class="rowReportSubtotal">
23         <td class="cellLeftAlignedSubtotal">{if $subtotal['name']}{$subtotal['name']|escape}{else}&nbsp;{/if}</td>
24         {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$subtotal['time']}</td>{/if}
25         {if $bean->getAttribute('chcost')}<td class="cellRightAlignedSubtotal">{if $user->canManageTeam() || $user->isClient()}{$subtotal['cost']}{else}{$subtotal['expenses']}{/if}</td>{/if}
26       </tr>
27   {/foreach}
28       <!-- print totals -->
29       <tr><td>&nbsp;</td></tr>
30       <tr class="rowReportSubtotal">
31         <td class="cellLeftAlignedSubtotal">{$i18n.label.total}</td>
32         {if $bean->getAttribute('chduration')}<td nowrap class="cellRightAlignedSubtotal">{$totals['time']}</td>{/if}
33         {if $bean->getAttribute('chcost')}<td nowrap class="cellRightAlignedSubtotal">{$user->currency|escape} {if $user->canManageTeam() || $user->isClient()}{$totals['cost']}{else}{$totals['expenses']}{/if}</td>{/if}
34       </tr>
35 {else}
36 <!-- normal report -->
37       <tr>
38         <td class="tableHeader">{$i18n.label.date}</td>
39   {if $user->canManageTeam() || $user->isClient()}<td class="tableHeader">{$i18n.label.user}</td>{/if}
40   {if $bean->getAttribute('chclient')}<td class="tableHeader">{$i18n.label.client}</td>{/if}
41   {if $bean->getAttribute('chproject')}<td class="tableHeader">{$i18n.label.project}</td>{/if}
42   {if $bean->getAttribute('chtask')}<td class="tableHeader">{$i18n.label.task}</td>{/if}
43   {if $bean->getAttribute('chcf_1')}<td class="tableHeader">{$custom_fields->fields[0]['label']|escape}</td>{/if}
44   {if $bean->getAttribute('chstart')}<td class="tableHeaderCentered" width="5%">{$i18n.label.start}</td>{/if}
45   {if $bean->getAttribute('chfinish')}<td class="tableHeaderCentered" width="5%">{$i18n.label.finish}</td>{/if}
46   {if $bean->getAttribute('chduration')}<td class="tableHeaderCentered" width="5%">{$i18n.label.duration}</td>{/if}
47   {if $bean->getAttribute('chnote')}<td class="tableHeader">{$i18n.label.note}</td>{/if}
48   {if $bean->getAttribute('chcost')}<td class="tableHeaderCentered" width="5%">{$i18n.label.cost}</td>{/if}
49   {if $bean->getAttribute('chpaid')}<td class="tableHeader">{$i18n.label.paid}</td>{/if}
50   {if $bean->getAttribute('chinvoice')}<td class="tableHeader">{$i18n.label.invoice}</td>{/if}
51       </tr>
52   {foreach $report_items as $item}
53     <!-- print subtotal for a block of grouped values -->
54     {$cur_date = $item.date}
55     {if $print_subtotals}
56       {$cur_grouped_by = $item.grouped_by}
57       {if $cur_grouped_by != $prev_grouped_by && !$first_pass}
58       <tr class="rowReportSubtotal">
59         <td class="cellLeftAlignedSubtotal">{$i18n.label.subtotal}
60         {if $user->canManageTeam() || $user->isClient()}<td class="cellLeftAlignedSubtotal">{if $group_by == 'user'}{$subtotals[$prev_grouped_by]['name']|escape}</td>{/if}{/if}
61         {if $bean->getAttribute('chclient')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'client'}{$subtotals[$prev_grouped_by]['name']|escape}</td>{/if}{/if}
62         {if $bean->getAttribute('chproject')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'project'}{$subtotals[$prev_grouped_by]['name']|escape}</td>{/if}{/if}
63         {if $bean->getAttribute('chtask')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'task'}{$subtotals[$prev_grouped_by]['name']|escape}</td>{/if}{/if}
64         {if $bean->getAttribute('chcf_1')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'cf_1'}{$subtotals[$prev_grouped_by]['name']|escape}</td>{/if}{/if}
65         {if $bean->getAttribute('chstart')}<td></td>{/if}
66         {if $bean->getAttribute('chfinish')}<td></td>{/if}
67         {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$subtotals[$prev_grouped_by]['time']}</td>{/if}
68         {if $bean->getAttribute('chnote')}<td></td>{/if}
69         {if $bean->getAttribute('chcost')}<td class="cellRightAlignedSubtotal">{if $user->canManageTeam() || $user->isClient()}{$subtotals[$prev_grouped_by]['cost']}{else}{$subtotals[$prev_grouped_by]['expenses']}{/if}</td>{/if}
70         {if $bean->getAttribute('chpaid')}<td></td>{/if}
71         {if $bean->getAttribute('chinvoice')}<td></td>{/if}
72       </tr>
73       <tr><td>&nbsp;</td></tr>
74       {/if}
75     {$first_pass = false}
76     {/if}
77       <!--  print regular row --> 
78       {if $cur_date != $prev_date}
79         {if $report_row_class == 'rowReportItem'} {$report_row_class = 'rowReportItemAlt'} {else} {$report_row_class = 'rowReportItem'} {/if}
80       {/if}
81       <tr class="{$report_row_class}">
82         <td class="cellLeftAligned">{$item.date}</td>
83     {if $user->canManageTeam() || $user->isClient()}<td class="cellLeftAligned">{$item.user|escape}</td>{/if}
84     {if $bean->getAttribute('chclient')}<td class="cellLeftAligned">{$item.client|escape}</td>{/if}
85     {if $bean->getAttribute('chproject')}<td class="cellLeftAligned">{$item.project|escape}</td>{/if}
86     {if $bean->getAttribute('chtask')}<td class="cellLeftAligned">{$item.task|escape}</td>{/if}
87     {if $bean->getAttribute('chcf_1')}<td class="cellLeftAligned">{$item.cf_1|escape}</td>{/if}
88     {if $bean->getAttribute('chstart')}<td nowrap class="cellRightAligned">{$item.start}</td>{/if}
89     {if $bean->getAttribute('chfinish')}<td nowrap class="cellRightAligned">{$item.finish}</td>{/if}
90     {if $bean->getAttribute('chduration')}<td class="cellRightAligned">{$item.duration}</td>{/if}
91     {if $bean->getAttribute('chnote')}<td class="cellLeftAligned">{$item.note|escape}</td>{/if}
92     {if $bean->getAttribute('chcost')}<td class="cellRightAligned">{if $user->canManageTeam() || $user->isClient()}{$item.cost}{else}{$item.expense}{/if}</td>{/if}
93     {if $bean->getAttribute('chpaid')}<td class="cellRightAligned">{if $item.paid == 1}{$i18n.label.yes}{else}{$i18n.label.no}{/if}{/if}
94     {if $bean->getAttribute('chinvoice')}<td class="cellRightAligned">{$item.invoice|escape}</td>{/if}
95     {if $use_checkboxes}
96       {if 1 == $item.type}<td bgcolor="white"><input type="checkbox" name="log_id_{$item.id}"></td>{/if}
97       {if 2 == $item.type}<td bgcolor="white"><input type="checkbox" name="item_id_{$item.id}"></td>{/if}
98     {/if}
99       </tr>
100     {$prev_date = $item.date}
101     {if $print_subtotals} {$prev_grouped_by = $item.grouped_by} {/if}
102   {/foreach}
103   <!-- print a terminating subtotal -->
104   {if $print_subtotals}
105       <tr class="rowReportSubtotal">
106         <td class="cellLeftAlignedSubtotal">{$i18n.label.subtotal}
107     {if $user->canManageTeam() || $user->isClient()}<td class="cellLeftAlignedSubtotal">{if $group_by == 'user'}{$subtotals[$cur_grouped_by]['name']|escape}</td>{/if}{/if}
108     {if $bean->getAttribute('chclient')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'client'}{$subtotals[$cur_grouped_by]['name']|escape}</td>{/if}{/if}
109     {if $bean->getAttribute('chproject')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'project'}{$subtotals[$cur_grouped_by]['name']|escape}</td>{/if}{/if}
110     {if $bean->getAttribute('chtask')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'task'}{$subtotals[$cur_grouped_by]['name']|escape}</td>{/if}{/if}
111     {if $bean->getAttribute('chcf_1')}<td class="cellLeftAlignedSubtotal">{if $group_by == 'cf_1'}{$subtotals[$cur_grouped_by]['name']|escape}</td>{/if}{/if}
112     {if $bean->getAttribute('chstart')}<td></td>{/if}
113     {if $bean->getAttribute('chfinish')}<td></td>{/if}
114     {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$subtotals[$cur_grouped_by]['time']}</td>{/if}
115     {if $bean->getAttribute('chnote')}<td></td>{/if}
116     {if $bean->getAttribute('chcost')}<td class="cellRightAlignedSubtotal">{if $user->canManageTeam() || $user->isClient()}{$subtotals[$cur_grouped_by]['cost']}{else}{$subtotals[$cur_grouped_by]['expenses']}{/if}</td>{/if}
117     {if $bean->getAttribute('chpaid')}<td></td>{/if}
118     {if $bean->getAttribute('chinvoice')}<td></td>{/if}
119       </tr>
120   {/if}
121   <!-- print totals -->
122       <tr><td>&nbsp;</td></tr>
123       <tr class="rowReportSubtotal">
124         <td class="cellLeftAlignedSubtotal">{$i18n.label.total}</td>
125     {if $user->canManageTeam() || $user->isClient()}<td></td>{/if}
126     {if $bean->getAttribute('chclient')}<td></td>{/if}
127     {if $bean->getAttribute('chproject')}<td></td>{/if}
128     {if $bean->getAttribute('chtask')}<td></td>{/if}
129     {if $bean->getAttribute('chcf_1')}<td></td>{/if}
130     {if $bean->getAttribute('chstart')}<td></td>{/if}
131     {if $bean->getAttribute('chfinish')}<td></td>{/if}
132     {if $bean->getAttribute('chduration')}<td class="cellRightAlignedSubtotal">{$totals['time']}</td>{/if}
133     {if $bean->getAttribute('chnote')}<td></td>{/if}
134     {if $bean->getAttribute('chcost')}<td nowrap class="cellRightAlignedSubtotal">{$user->currency|escape} {if $user->canManageTeam() || $user->isClient()}{$totals['cost']}{else}{$totals['expenses']}{/if}</td>{/if}
135     {if $bean->getAttribute('chpaid')}<td></td>{/if}
136     {if $bean->getAttribute('chinvoice')}<td></td>{/if}
137       </tr>
138 {/if}
139     </table>
140   </td>
141 </tr>
142 </table>
143 {if $use_mark_paid && $report_items}
144 <table width="720" cellspacing="4" cellpadding="4" border="0">
145   <tr>
146     <td align="right">
147       <table>
148         <tr><td>{$i18n.label.mark_paid}: {$forms.reportForm.mark_paid_select_options.control} {$forms.reportForm.mark_paid_action_options.control} {$forms.reportForm.btn_mark_paid.control}</td></tr>
149       </table>
150     </td>
151   </tr>
152 </table>
153 {/if}
154 {if $use_assign_to_invoice && $report_items}
155 <table width="720" cellspacing="4" cellpadding="4" border="0">
156   <tr>
157     <td align="right">
158       <table>
159         <tr><td>{$i18n.form.report.assign_to_invoice}: {$forms.reportForm.recent_invoice.control} {$forms.reportForm.btn_assign.control}</td></tr>
160       </table>
161     </td>
162   </tr>
163 </table>
164 {/if}
165 {$forms.reportForm.close}
166
167 <table width="720" cellspacing="4" cellpadding="4" border="0">
168 <tr>
169   <td align="center">
170   <table>
171   <tr>
172     <td><input type="button" onclick="chLocation('report_send.php');" value="{$i18n.button.send_by_email}"></td>
173   </tr>
174   </table>
175   </td>
176 </tr>
177 </table>