Merge branch 'test' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / templates / webpages / ap / form_header.html
1 [%- USE L %]
2 [%- USE P %]
3 [%- USE HTML %]
4 [%- USE T8 %]
5 [%- USE LxERP %][%- USE P -%]
6
7 <h1>[% title | html %]</h1>
8
9 [%- INCLUDE 'common/flash.html' %]
10
11 <form method="post" action="[% script | html %]" id="form">
12
13 <input type="hidden" name="terms" value="[% terms | html %]">
14
15 <input type="hidden" name="creditlimit" value="[% creditlimit | html %]">
16 <input type="hidden" name="creditremaining" value="[% creditremaining | html %]">
17
18 <input type="hidden" name="forex" value="[% forex | html %]">
19 <input type="hidden" name="lastmtime" value="[% HTML.escape(lastmtime) %]">
20
21 <input id="id" type="hidden" name="id" value="[% id | html %]">
22 <input type="hidden" name="sort" value="[% sort | html %]">
23 <input type="hidden" name="closedto" value="[% closedto | html %]">
24 <input type="hidden" name="locked" value="[% locked | html %]">
25 <input type="hidden" name="title" value="[% title_ | html %]">
26
27 <input type="hidden" name="follow_up_trans_id_1" value="[% id | html %]">
28 <input type="hidden" name="follow_up_trans_type_1" value="ap_transaction">
29 <input type="hidden" name="follow_up_trans_info_1" value="[% follow_up_trans_info | html %]">
30 <input type="hidden" name="follow_up_rowcount" value="1">
31
32 <input type="hidden" name="defaultcurrency" value="[% defaultcurrency | html %]">
33 <input type="hidden" name="fxgain_accno" value="[% fxgain_accno | html %]">
34 <input type="hidden" name="fxloss_accno" value="[% fxloss_accno | html %]">
35
36 <input type="hidden" name="oldinvtotal" value="[% oldinvtotal | html %]">
37 <input type="hidden" name="oldtotalpaid" value="[% oldtotalpaid | html %]">
38
39 <input type="hidden" name="taxaccounts" value="[% taxaccounts | html %]">
40
41 <input type="hidden" name="rowcount" value="[% rowcount | html %]">
42
43 <input type="hidden" name="paidaccounts" value="[% paidaccounts | html %]">
44
45 [%- P.hidden_tag('convert_from_oe_id', convert_from_oe_id) -%]
46
47 [% FOREACH i IN [1..paidaccounts] %]
48   [% temp = "acc_trans_id_"_ i %]
49   <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
50
51   [% temp = "gldate_"_ i %]
52   <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
53 [% END %]
54
55 [% IF ( saved_message ) %]
56   <p>[% saved_message | html %]</p>
57 [% END %]
58
59 <div id="ap_tabs" class="tabwidget">
60  <ul>
61   <li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
62 [%- IF INSTANCE_CONF.get_webdav %]
63   <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
64 [%- END %]
65 [%- IF id AND INSTANCE_CONF.get_doc_storage %]
66       <li><a href="#ui-tabs-docs">[% 'Documents' | $T8 %]</a></li>
67       <li><a href="controller.pl?action=File/list&file_type=attachment&object_type=purchase_invoice&object_id=[% HTML.url(id) %]">[% 'Attachments' | $T8 %]</a></li>
68 [%- END %]
69 [%- IF id %]
70   [%- IF AUTH.assert('record_links', 1) %]
71   <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=PurchaseInvoice&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
72   [%- END %]
73   <li><a href="[% 'controller.pl?action=AccTrans/list_transactions&trans_id=' _ HTML.url(id) | html %]">[% LxERP.t8('Transactions') %]</a></li>
74 [%- END %]
75  </ul>
76
77 [%- IF id AND INSTANCE_CONF.get_doc_storage %]
78    <div id="ui-tabs-docs"></div>
79 [%- END %]
80
81 <div id="ui-tabs-basic-data">
82 <table width="100%">
83   <tr valign="top">
84     <td>
85       <table width="100%">
86         <tr valign="top">
87           <td>
88             <table>
89               <tr>
90                 <th align="right" nowrap>[% 'Vendor' | $T8 %]</th>
91                 <td colspan="3">
92                  [% P.customer_vendor.picker("vendor_id", vendor_id, type="vendor", style="width: 330px", onchange="\$('#update_button').click()") %]
93                  [% L.button_tag("show_vc_details('vendor')", LxERP.t8('Details (one letter abbreviation)')) %]
94                  [% L.hidden_tag("previous_vendor_id", vendor_id) %]
95                 </td>
96               </tr>
97
98               <tr>
99                 <th align="right" valign="top">[% LxERP.t8("Credit Limit") %]</th>
100                 <td>
101                  [% creditlimit | html %];
102                  [% LxERP.t8("Remaining") %]
103                  <span class="plus[% creditremaining_plus %]">[% creditremaining | html %]</span>
104                 </td>
105               </tr>
106
107 [%- IF invoice_obj.sepa_exports.as_list.size %]
108               <tr>
109                 <th align="right">[% LxERP.t8("SEPA exports") %]</th>
110                 <td>
111                  [% FOREACH export = invoice_obj.sepa_exports.as_list %]
112                   <a href="sepa.pl?action=bank_transfer_edit&vc=vendor&id=[% HTML.url(export.id) %]">[% HTML.escape(export.id) %]</a>
113                   [% UNLESS loop.last %], [% END %]
114                  [% END %]
115                 </td>
116               </tr>
117 [%- END %]
118
119               <tr>
120                 <th align="right" nowrap>[% 'Currency' | $T8 %]</th>
121                 <td>[% L.select_tag("currency", currencies, default=currency, value_key="name", title_key="name") %]</td>
122
123                 [% IF ( defaultcurrency && (currency != defaultcurrency) ) %]
124                   <th align=right>[% 'Exchangerate' | $T8 %]</th>
125                   [% IF ( forex ) %]
126                     <td><input type="hidden" name="exchangerate" value="[% exchangerate | html %]">[% exchangerate | html %]</td>
127                   [% ELSE %]
128                     <td><input type="text" name="exchangerate" size="10" value="[% exchangerate | html %]"></td>
129                   [% END %]
130                 [% END %]
131
132               </tr>
133
134               [% IF ALL_DEPARTMENTS %]
135                 <tr>
136                   <th align="right" nowrap>[% 'Department' | $T8 %]</th>
137                   <td colspan=3>[% L.select_tag('department_id', ALL_DEPARTMENTS, default = department_id, title_key = 'description', with_empty = 1, style = "width:334px") %]</td>
138                 </tr>
139               [% END %]
140
141               <tr>
142                 <th align="right">[% 'Transaction description' | $T8 %]</th>
143                 <td colspan="3">[% L.input_tag("transaction_description", transaction_description, style="width:330px", "data-validate"=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '') %]</td>
144               </tr>
145               <tr>
146                 <td align="right"><input name="taxincluded" class="checkbox" type="checkbox" value="1" [% IF ( taxincluded ) %]checked[% END %]></td>
147                 <th align=left nowrap>[% 'Tax Included' | $T8 %]</th>
148               </tr>
149               <tr>
150                 <td align="right"><input name="direct_debit" class="checkbox" type="checkbox" value="1" [% IF direct_debit %]checked[% END %]></td>
151                 <th align="left" nowrap>[% 'direct debit' | $T8 %]</th>
152               </tr>
153             </table>
154           </td>
155
156           <td align="right">
157             <table>
158               <tr>
159                 <th align="right" nowrap>[% 'Invoice Number' | $T8 %]</th>
160                 <td>[% L.input_tag("invnumber", invnumber, size="11", readonly=readonly) %]</td>
161               </tr>
162               <tr>
163                 <th align="right" nowrap>[% 'Order Number' | $T8 %]</th>
164                 <td>[% L.input_tag("ordnumber", ordnumber, size="11", readonly=readonly) %]</td>
165               </tr>
166               <tr>
167                 <th align="right" nowrap>[% 'Invoice Date' | $T8 %]</th>
168                 <td>[% L.date_tag('transdate', transdate, onchange='kivi.SalesPurchase.set_duedate_on_reference_date_change("transdate")') %]</td>
169               </tr>
170               <tr>
171                 <th align="right" nowrap>[% 'Due Date' | $T8 %]</th>
172                 <td>[% L.date_tag('duedate', duedate) %]</td>
173               </tr>
174               <tr>
175                 <th align="right" nowrap>[% LxERP.t8('Tax point') %]</th>
176                 <td>[% L.date_tag('tax_point', tax_point, id='tax_point') %]</td>
177               </tr>
178               <tr>
179                 <th align=right nowrap>[% 'Delivery Date' | $T8 %]</th>
180                 <td>[% L.date_tag('deliverydate', deliverydate) %]</td>
181               </tr>
182               <tr>
183                 <th align="right" nowrap>[% 'Project Number' | $T8 %]</th>
184                 <td>
185                   [% P.project.picker('globalproject_id', globalproject_id, onchange="document.getElementById('update_button').click();") %]
186                 </td>
187               </tr>
188             </table>
189           </td>
190         </tr>
191       </table>
192     </td>
193   </tr>
194
195   <tr>
196     <td>
197       <table width=100%>
198         <tr class=listheading>
199           <th class=listheading style="width:15%">[% 'Account' | $T8 %]</th>
200           <th class=listheading style="width:10%">[% 'Amount' | $T8 %]</th>
201           <th class=listheading style="width:10%">[% 'Tax' | $T8 %]</th>
202           <th class=listheading style="width:10%">[% 'Taxkey' | $T8 %]</th>
203           <th class=listheading style="width:10%">[% 'Project' | $T8 %]</th>
204         </tr>
205
206         [% FOREACH i IN [1..rowcount] %]
207           <tr>
208             <td>
209               [% SET selected_chart_id = "AP_amount_chart_id_"_ i %]
210               [% P.chart.picker("AP_amount_chart_id_" _ i, $selected_chart_id, style="width: 400px", type="AP_amount", class=(initial_focus == 'row_' _ i ? "initial_focus" : "")) %]
211               [% L.hidden_tag("previous_AP_amount_chart_id_" _ i, $selected_chart_id) %]
212               <input type="hidden" name="tax_[% i %]" value="[% temp = "tax"_ i %][% $temp | html %]">
213             </td>
214             <td>
215               <input name="amount_[% i %]" size="10" value="[% temp = "amount_"_ i %][% $temp | html %]">
216             </td>
217             <td>
218               [% temp_r = "tax_reverse_"_ i %]
219               [% IF ($temp_r) %]
220                 [% $temp_r | html %]
221                 &nbsp;&nbsp;&nbsp;
222                 [% temp_c = "tax_charge_"_ i %][% $temp_c | html %]
223               [% ELSE %]
224                 [% temp = "tax_"_ i %][% $temp | html %]
225               [% END %]
226             </td>
227             <td>
228               [% temp = 'selected_taxchart_'_ i %]
229               [% taxcharts = 'taxcharts_' _ i %]
230               [% L.select_tag('taxchart_'_ i, $taxcharts, value_title_sub = \taxchart_value_title_sub, default = $temp, style="width: 250px") %]
231             </td>
232             <td>
233               [% temp = "project_id_"_ i %]
234               [% P.project.picker(temp, loop.last ? globalproject_id : $temp) %]
235             </td>
236           </tr>
237         [% END %]
238
239         <tr>
240           <td colspan="6">
241             <hr noshade>
242           </td>
243         </tr>
244         <tr>
245           <td>
246             [% P.chart.picker('AP_chart_id', AP_chart_id, style="width: 400px", type="AP") %]
247           </td>
248           <th align="left">[% invtotal | html %]</th>
249           <td colspan="4"></td>
250         </tr>
251       </table>
252      </td>
253     </tr>
254     <tr>
255       <td>
256         <table>
257           <tr>
258            <th align="left">[% 'Notes' | $T8 %]</th>
259            <th align="left">[% 'Internal Notes' | $T8 %]</th>
260            <th align="left">[% 'Payment Terms' | $T8 %]</th>
261           </tr>
262           <tr valign="top">
263            <td>
264             [% L.textarea_tag("notes", notes, wrap="soft", rows=textarea_rows, cols=50, readonly=readonly) %]
265            </td>
266            <td>
267             [% L.textarea_tag("intnotes", intnotes, wrap="soft", rows=textarea_rows, cols=50, readonly=readonly) %]
268            </td>
269            <td>
270              [% L.select_tag('payment_id', payment_terms, default=payment_id, title_key='description', with_empty=1, style="width: 250px", onchange="kivi.SalesPurchase.set_duedate_on_reference_date_change('transdate')") %]
271            </td>
272           <tr>
273         </table>
274     </td>
275   </tr>
276   <tr>
277     <td>
278       [% UNLESS no_payment_bookings %]
279       <table width="100%">
280         <tr class="listheading">
281           <th class="listheading" colspan="7">[% 'Payments' | $T8 %]</th>
282         </tr>
283
284         <tr>
285           <th>[% 'Date' | $T8 %]</th>
286           <th>[% 'Source' | $T8 %]</th>
287           <th>[% 'Memo' | $T8 %]</th>
288           <th>[% 'Amount' | $T8 %]</th>
289           <th></th>
290           [% IF ( !defaultcurrency || (currency != defaultcurrency) ) %]
291             <th>[% 'Exch' | $T8 %]</th>
292           [% END %]
293           <th>[% 'Account' | $T8 %]</th>
294           <th>[% 'Project Number' | $T8 %]</th>
295         </tr>
296
297         [% FOREACH i IN [1..paidaccounts] %]
298           [% temp = "paidaccount_changeable_"_ i %]
299           [% changeable = $temp %]
300
301           <tr>
302             [% temp = "datepaid_"_ i %]
303             <td align="center">
304               [% IF( changeable ) %]
305                 [% L.date_tag(temp, $temp ? $temp : today) %]
306               [% ELSE %]
307                 [% $temp | html %]
308                 <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
309               [% END %]
310             </td>
311
312             [% temp = "source_"_ i %]
313             <td align="center">
314               [% IF( changeable ) %]
315                 <input name="[% temp %]" size="11" value="[% $temp | html %]">
316               [% ELSE %]
317                 [% $temp | html %]
318                 <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
319               [% END %]
320             </td>
321
322             [% temp = "memo_"_ i %]
323             <td align="center">
324               [% IF( changeable ) %]
325                 <input name="[% temp %]" size="11" value="[% $temp | html %]">
326               [% ELSE %]
327                 [% $temp | html %]
328                 <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
329               [% END %]
330             </td>
331
332             [% temp = "paid_"_ i %]
333             <td align="center">
334               [% IF( changeable ) %]
335                 <input name="[% temp %]" size="11" data-validate="number" class="numeric" value="[% $temp | html %]" id="[%- 'payment_' _ temp -%]">
336               [% ELSE %]
337                 [% $temp | html %]
338                 <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
339               [% END %]
340             </td>
341
342             <td>
343               [% IF changeable && loop.last && paid_missing > 0 %]
344                 <input type="button" id="ap_set_to_paid_missing" value="[% "Set to paid missing" | $T8 %]">
345               [% END %]
346             </td>
347
348             [% IF ( !defaultcurrency || (currency != defaultcurrency) ) %]
349               <td align="center">
350                 [% temp = "exchangerate_"_ i %]
351                 [% temp_forex = "forex_"_ i %]
352
353                 [% IF( $temp_forex || !changeable ) %]
354                   [% $temp | html %]
355                   <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
356                 [% ELSE %]
357                   <input name="[% temp %]" size="11" value="[% $temp | html %]">
358                 [% END %]
359
360                 <input type=hidden name="[% temp_forex %]" value="[% $temp_forex | html %]">
361               </td>
362             [% END %]
363
364             [% temp     = "AP_paid_"_ i %]
365             [% readonly = "AP_paid_readonly_desc_"_ i %]
366             <td align="center">
367               [% IF( changeable ) %]
368                 [% L.select_tag(temp, ALL_CHARTS_AP_paid, value_title_sub = \AP_paid_value_title_sub, default = ($temp || accno_arap))  %]
369               [% ELSE %]
370                 [% $readonly | html %]
371                 <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
372               [% END %]
373             </td>
374
375             <td align="center">
376               [% temp = "paid_project_id_"_ i %]
377               [% IF( changeable ) %]
378                 [% P.project.picker(temp, $temp) %]
379               [% ELSE %]
380                 <input type="hidden" name="[% temp %]" value="[% $temp | html %]">
381                 [% temp = "label"_ temp %]
382                 [% $temp | html %]
383               [% END %]
384             </td>
385           </tr>
386         [% END %]
387
388         <tr>
389           <td></td>
390           <td></td>
391           <td align="center">[% 'Total' | $T8 %]</td>
392           <td align="center">[% LxERP.format_amount(totalpaid, 2) | html %]</td>
393         </tr>
394         <tr>
395           <td></td>
396           <td></td>
397           <td align="center">[% 'Missing amount' | $T8 %]</td>
398           <td align="center">[% LxERP.format_amount(paid_missing, 2) | html %]</td>
399         </tr>
400       </table>
401       [% END %]
402     </td>
403   </tr>
404 </table>
405 </div>
406 [% PROCESS 'webdav/_list.html' %]
407 <div id="ui-tabs-1">
408  [% LxERP.t8('Loading...') %]
409 </div>
410 </div>
411
412 <hr size="3" noshade>
413
414 <script type='text/javascript'>
415  $('#ap_set_to_paid_missing').click(function(){ $('input[id^="payment_paid_"]:last').val("[% LxERP.format_amount(paid_missing, 2) %]") });
416 </script>