Bug 13618: Add html filters to all the variables
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / acqui / supplier.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE KohaDates %]
4 [% BLOCK edit_contact %]
5     <ol id="contact-form">
6         <input type="hidden" name="contact_id" value="[% contact.id | html %]" />
7         <li><label for="contact_name[% contact.id | html %]">Contact name: </label>
8             <input type="text" size="40" id="contact_name[% contact.id | html %]" name="contact_name" value="[% contact.name | html %]" /></li>
9         <li><label for="contact_position[% contact.id | html %]">Position: </label>
10             <input type="text" size="40" id="contact_position[% contact.id | html %]" name="contact_position" value="[% contact.position | html %]" /></li>
11         <li><label for="contact_phone[% contact.id | html %]">Phone: </label>
12                 <input type="text" size="20" id="contact_phone[% contact.id | html %]" name="contact_phone" value="[% contact.phone | html %]" /> </li>
13         <li><label for="contact_altphone[% contact.id | html %]">Alternative phone: </label>
14             <input type="text" size="20" id="contact_altphone[% contact.id | html %]" name="contact_altphone" value="[% contact.altphone | html %]" /></li>
15         <li><label for="contact_fax[% contact.id | html %]">Fax: </label>
16             <input type="text" size="20" id="contact_fax[% contact.id | html %]" name="contact_fax" value="[% contact.fax | html %]" /></li>
17         <li><label for="contact_email[% contact.id | html %]">Email: </label>
18             <input type="text" size="40" id="contact_email[% contact.id | html %]" name="contact_email" value="[% contact.email | html %]" class="email" /></li>
19         <li><label for="contact_notes[% contact.id | html %]">Notes: </label>
20             <textarea id="contact_notes[% contact.id | html %]" name="contact_notes" cols="40" rows="4">[% contact.notes | html %]</textarea></li>
21         <li><label for="contact_acqprimary[% contact.id | html %]">Primary acquisitions contact:</label>
22             [% IF contact.acqprimary %]
23                 <input type="checkbox" id="contact_acqprimary[% contact.id | html %]" class="contact_acqprimary" checked="checked"></input>
24             [% ELSE %]
25                 <input type="checkbox" id="contact_acqprimary[% contact.id | html %]" class="contact_acqprimary"></input>
26             [% END %]
27             <input type="hidden" class="contact_acqprimary_hidden" name="contact_acqprimary" value="[% contact.acqprimary | html %]"></input>
28         <li><label for="contact_serialsprimary[% contact.id | html %]">Primary serials contact:</label>
29             [% IF contact.serialsprimary %]
30                 <input type="checkbox" id="contact_serialsprimary[% contact.id | html %]" class="contact_serialsprimary" checked="checked"></input>
31             [% ELSE %]
32                 <input type="checkbox" id="contact_serialsprimary[% contact.id | html %]" class="contact_serialsprimary"></input>
33             [% END %]
34             <input type="hidden" class="contact_serialsprimary_hidden" name="contact_serialsprimary" value="[% contact.serialsprimary | html %]"></input>
35         <li><label for="contact_orderacquisition[% contact.id | html %]">Contact when ordering?</label>
36             [% IF contact.orderacquisition %]
37                 <input type="checkbox" id="contact_orderacquisition[% contact.id | html %]" class="contact_orderacquisition" checked="checked"></input>
38             [% ELSE %]
39                 <input type="checkbox" id="contact_orderacquisition[% contact.id | html %]" class="contact_orderacquisition"></input>
40             [% END %]
41             <input type="hidden" class="contact_orderacquisition_hidden" name="contact_orderacquisition" value="[% contact.orderacquisition | html %]"></input>
42         <li><label for="contact_claimacquisition[% contact.id | html %]">Contact about late orders?</label>
43             [% IF contact.claimacquisition %]
44                 <input type="checkbox" id="contact_claimacquisition[% contact.id | html %]" class="contact_claimacquisition" checked="checked"></input>
45             [% ELSE %]
46                 <input type="checkbox" id="contact_claimacquisition[% contact.id | html %]" class="contact_claimacquisition"></input>
47             [% END %]
48             <input type="hidden" class="contact_claimacquisition_hidden" name="contact_claimacquisition" value="[% contact.claimacquisition | html %]"></input>
49         <li><label for="contact_claimissues[% contact.id | html %]">Contact about late issues?</label>
50             [% IF contact.claimissues %]
51                 <input type="checkbox" id="contact_claimissues[% contact.id | html %]" class="contact_claimissues" checked="checked"></input>
52             [% ELSE %]
53                 <input type="checkbox" id="contact_claimissues[% contact.id | html %]" class="contact_claimissues"></input>
54             [% END %]
55             <input type="hidden" class="contact_claimissues_hidden" name="contact_claimissues" value="[% contact.claimissues | html %]"></input>
56         </li>
57         [% IF contact.id %]<li><button class="btn btn-default delete-contact"><i class="fa fa-trash"></i> Delete contact</li>[% END %]
58     </ol>
59 [% END %]
60
61 [% BLOCK show_contact %]
62     <h3>[% contact.name | html %]</h3>
63     <p><span class="label">Position: </span>[% contact.position | html %]</p>
64     <p><span class="label">Phone: </span>[% contact.phone | html %]</p>
65     <p><span class="label">Alternative phone: </span>[% contact.altphone | html %]</p>
66     <p><span class="label">Fax: </span>[% contact.fax | html %]</p>
67     [% IF ( contact.email ) %]
68         <p><span class="label">Email: </span><a href="mailto:[% contact.email | html %]">[% contact.email | html %]</a></p>
69     [% END %]
70     [% IF ( contact.notes ) %]
71         <p><span class="label">Notes: </span>[% contact.notes | html %]</p>
72     [% END %]
73     [% IF ( contact.acqprimary ) %]
74         <p><span class="label">Primary acquisitions contact</span></p>
75     [% END %]
76     [% IF ( contact.serialsprimary ) %]
77         <p><span class="label">Primary serials contact</span></p>
78     [% END %]
79     [% IF ( contact.orderacquisition ) %]
80         <p><span class="label">Receives orders</span></p>
81     [% END %]
82     [% IF ( contact.claimacquisition ) %]
83         <p><span class="label">Receives claims for late orders</span></p>
84     [% END %]
85     [% IF ( contact.claimissues ) %]
86         <p><span class="label">Receives claims for late issues</span></p>
87     [% END %]
88 [% END %]
89
90 [% SET footerjs = 1 %]
91 [% INCLUDE 'doc-head-open.inc' %]
92 <title>Koha &rsaquo; Vendor [% name | html %]</title>
93 [% Asset.css("css/datatables.css") | $raw %]
94 [% INCLUDE 'doc-head-close.inc' %]
95 </head>
96
97 <body id="acq_supplier" class="acq">
98 [% INCLUDE 'header.inc' %]
99 [% INCLUDE 'acquisitions-search.inc' %]
100
101 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; [% IF ( enter ) %][% IF ( booksellerid ) %] <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | html %]">[% name | html %]</a> &rsaquo; Update: [% name | html %][% ELSE %]Add vendor[% END %] [% ELSE %][% name | html %][% END %]</div>
102
103 <div id="doc3" class="yui-t2">
104
105 <div id="bd">
106     <div id="yui-main">
107     <div class="yui-b">
108     [% IF ( enter ) %]
109         [% IF ( booksellerid ) %]
110         <h1>Update: [% name | html %]</h1>
111     [% ELSE %]
112         <h1>Add vendor</h1>
113     [% END %]
114     [% END %]
115 [% UNLESS ( enter ) %][% INCLUDE 'acquisitions-toolbar.inc' %][% END %]
116 [% IF ( enter ) %]
117     <form action="updatesupplier.pl" name="updatesupplier" class="validated" method="post">
118     <div class="yui-g">
119         <input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
120         <fieldset class="rows">
121             <legend>Company details</legend>
122             <ol><li><label for="company" class="required">Name:</label>
123                 <input type="text" size="40" id="company" name="company" value="[% name | html %]" required="required" class="required" /><span class="required">Required</span></li>
124             <li><label for="company_postal">Postal address: </label>
125                     <textarea id="company_postal" name="company_postal" cols="40" rows="3">[% postal | html %]</textarea></li>
126             <li><label for="physical">Physical address: </label>
127                 <textarea id="physical" name="physical" cols="40" rows="3">[% address1 | html %][% address2 | html %][% address3 | html %][% address4 | html %]</textarea></li>
128             <li><label for="company_phone">Phone: </label>
129                 <input type="text" size="20" id="company_phone" name="company_phone" value="[% phone | html %]" /></li>
130             <li><label for="company_fax">Fax: </label>
131                 <input type="text" size="20" id="company_fax" name="company_fax" value="[% fax | html %]" /></li>
132             <li><label for="website">Website: </label>
133                 <input type="text" size="40" id="website" name="website" value="[% url | html %]" class="url" /></li>
134             <li><label for="accountnumber">Account number: </label>
135                 <input type="text" size="40" id="accountnumber" name="accountnumber" value="[% accountnumber | html %]" /></li></ol>
136         </fieldset>
137         <fieldset class="rows">
138             <legend>Contacts</legend>
139             <fieldset id="contact-template" class="supplier-contact">
140                 <legend>Contact details</legend>
141                 [% INCLUDE edit_contact %]
142             </fieldset>
143             [% FOREACH contact IN contacts %]
144                 <fieldset class="supplier-contact">
145                     <legend>Contact details</legend>
146                     [% INCLUDE edit_contact %]
147                 </fieldset>
148             [% END %]
149             <button id="add-contact" class="btn btn-default"><i class="fa fa-plus"></i> Add another contact</button>
150         </fieldset>
151     </div>
152         <div class="yui-g">
153         <fieldset class="rows">
154             <legend>Ordering information</legend>
155             <ol class="radio"><li><label for="activestatus" class="radio">Vendor is:</label>
156                     [% IF ( active ) %]
157                         <label for="activestatus">Active</label> <input type="radio" id="activestatus" name="status" value="1" checked="checked" />
158                         <label for="inactivestatus">Inactive</label> <input type="radio" id="inactivestatus" name="status" value="0" />
159                     [% ELSE %]
160                         <label for="activestatus">Active</label> <input type="radio" id="activestatus" name="status" value="1" />
161                         <label for="inactivestatus">Inactive</label> <input type="radio" id="inactivestatus" name="status" value="0" checked="checked" />
162                     [% END %]</li>
163             </ol>
164             <ol>
165             <li><label for="list_currency">List prices are: </label>
166                 <select name="list_currency" id="list_currency">
167                     [% FOREACH c IN currencies %]
168                         [% IF booksellerid and c.currency == listprice or not booksellerid and c.active %]
169                             <option value="[% c.currency | html %]" selected="selected">[% c.currency | html %]</option>
170                         [% ELSIF not c.archived %]
171                             <option value="[% c.currency | html %]">[% c.currency | html %]</option>
172                         [% END %]
173                     [% END %]
174                 </select>
175             </li>
176             <li><label for="invoice_currency">Invoice prices are: </label>
177                 <select name="invoice_currency" id="invoice_currency">
178                     [% FOREACH c IN currencies %]
179                         [% IF booksellerid and c.currency == invoiceprice or not booksellerid and c.active %]
180                             <option value="[% c.currency | html %]" selected="selected">[% c.currency | html %]</option>
181                         [% ELSIF not c.archived %]
182                             <option value="[% c.currency | html %]">[% c.currency | html %]</option>
183                         [% END %]
184                     [% END %]
185                 </select>
186             </li>
187             </ol>
188             <ol class="radio">
189             <li><label for="gstyes" class="radio">Tax number registered:</label>
190                 [% IF ( gstreg ) %]
191                     <label for="gstyes">Yes</label> <input type="radio" name="gst" id="gstyes" value="1" checked="checked" />
192                     <label for="gstno">No</label> <input type="radio" name="gst" id="gstno" value="0" />
193                 [% ELSE %]
194                     <label for="gstyes">Yes</label> <input type="radio" name="gst" id="gstyes" value="1" />
195                     <label for="gstno">No</label> <input type="radio" name="gst" id="gstno" value="0" checked="checked" />
196                 [% END %]</li>
197             
198             <li><label for="list_gstyes" class="radio">List prices:</label>
199                 [% IF ( listincgst ) %]
200                     <label for="list_gstyes">Include tax</label> <input type="radio" id="list_gstyes" name="list_gst" value="1" checked="checked" />
201                     <label for="list_gstno">Don't include tax</label> <input type="radio" id="list_gstno" name="list_gst" value="0" />
202                 [% ELSE %]
203                     <label for="list_gstyes">Include tax</label> <input type="radio" id="list_gstyes" name="list_gst" value="1" />
204                     <label for="list_gstno">Don't include tax</label> <input type="radio" id="list_gstno" name="list_gst" value="0" checked="checked" />
205                 [% END %]</li>
206             
207             <li><label for="invoice_gstyes" class="radio">Invoice prices:</label>
208                 [% IF ( invoiceincgst ) %]
209                     <label for="invoice_gstyes">Include tax</label> <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" checked="checked" />
210                     <label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" />
211                     [% ELSE %]
212                     <label for="invoice_gstyes">Include tax</label> <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" />
213                     <label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" checked="checked" />
214                 [% END %]</li>
215             </ol>
216             [% IF gst_values %]
217                 <ol>
218                   <li>
219                     <label for="tax_rate">Tax rate: </label>
220                     <select name="tax_rate" id="tax_rate">
221                     [% FOREACH gst IN gst_values %]
222                       [% IF ( tax_rate == gst.option ) %]
223                         <option value="[% gst.option | html %]" selected="selected">[% gst.option * 100 | html %] %</option>
224                       [% ELSE %]
225                         <option value="[% gst.option | html %]">[% gst.option * 100 | html %] %</option>
226                       [% END %]
227                     [% END %]
228                     </select>
229                   </li>
230                 </ol>
231             [% ELSE %]
232                 <input type="hidden" name="tax_rate" value="0" />
233             [% END %]
234             <ol>
235             <li><label for="discount">Discount: </label>
236                 <input type="text" size="6" id="discount" name="discount" value="[% discount | format ("%.1f") %]" />%</li>
237             <li>
238                 <label for="deliverytime">Delivery time: </label>
239                 <input type="text" size="2" id="deliverytime" name="deliverytime" value="[% deliverytime | html %]" /> days
240             </li>
241             <li><label for="notes">Notes: </label>
242                 <textarea cols="40" rows="4" id="notes" name="notes" >[% notes | html %]</textarea></li></ol>
243         </fieldset>
244         <fieldset class="action"><input type="submit" value="Save" /> [% IF ( booksellerid ) %]
245         <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | html %]">[% ELSE %]<a class="cancel" href="/cgi-bin/koha/acqui/acqui-home.pl">
246         [% END %]Cancel</a></fieldset>
247         </div>
248     </form>
249 [% ELSE %]
250     <h1>[% name | html %]</h1>
251         <div class="yui-g">
252             <div id="supplier-company-details" class="yui-u first">
253                 <h2>Vendor details</h2>
254                 <p><span class="label">Company name: </span>[% name | html %]</p>
255                 <p><span class="label">Postal address: </span>[% postal | html %]</p>
256                 <p><span class="label">Physical address: </span>[% address1 | html %][% address2 | html %][% address3 | html %][% address4 | html %]</p>
257                 <p><span class="label">Phone: </span>[% phone | html %]</p>
258                 <p><span class="label">Fax: </span>[% fax | html %]</p>
259                 [% IF ( url ) %]
260                     <p><span class="label">Website: </span><a href="[% url | html %]">[% url | html %]</a></p>
261                 [% END %]
262                 [% IF ( accountnumber ) %]
263                     <p><span class="label">Account number: </span>[% accountnumber | html %]</p>
264                 [% END %]
265
266             <div id="supplier-ordering-information">
267             <h2>Ordering information</h2>
268                 <p><strong>Vendor is: </strong>
269                         [% IF ( active ) %]
270                             Active
271                         [% ELSE %]
272                             Inactive
273                         [% END %]</p>
274                 <p><strong>List prices are: </strong>[% listprice | html %]</p>
275                 <p><strong>Invoice prices are: </strong>[% invoiceprice | html %]</p>
276                 [% IF ( tax_rate ) %]<p><strong>Tax number registered: </strong>
277                         [% IF ( gstreg ) %]Yes[% ELSE %]No[% END %]</p>
278                 <p><strong>List item price includes tax: </strong>
279                         [% IF ( listincgst ) %]Yes[% ELSE %]No[% END %]</p>
280                 <p><strong>Invoice item price includes tax: </strong>
281                         [% IF ( invoiceincgst ) %]Yes[% ELSE %]No[% END %]</p>[% END %]
282                 <p><strong>Discount: </strong>
283                     [% discount | format("%.1f") %] %</p>
284                 <p><strong>Tax rate: </strong>
285                     [% ( tax_rate || 0 ) * 100 | html %] %</p>
286                 [% IF deliverytime.defined %]
287                     <p><strong>Delivery time: </strong>
288                         [% deliverytime | html %] days</p>
289                 [% END %]
290                 [% IF ( notes ) %]<p><strong>Notes: </strong>
291                     [% notes | html %]</p>[% END %]
292             </div>
293             </div>
294
295             <div class="supplier-contact-details yui-u">
296                 <h2>Contact</h2>
297                 [% FOREACH contact IN contacts %]
298                     [% INCLUDE show_contact %]
299                 [% END %]
300             </div>
301
302             <div>
303
304                 <div class="subscription-details">
305                     <h2>Subscription details</h2>
306                     <p><strong>Number of subscriptions: </strong>[% subscriptioncount | html %]</p>
307                 </div>
308
309             </div>
310
311         </div>
312
313         [% IF ( contracts ) %]
314             <div id="supplier-contracts" class="yui-g">
315                 <h2>Contract(s)</h2>
316                 <table id="contractst">
317                   <thead>
318                     <tr>
319                         <th scope="col">Name</th>
320                         <th scope="col">Description</th>
321                         <th scope="col" class="title-string">Start date</th>
322                         <th scope="col" class="title-string">End date</th>
323                         <th scope="col">Actions</th>
324                     </tr>
325                   </thead>
326                   <tbody>
327                     [% FOREACH contract IN contracts %]
328                         <tr>
329                         <td>
330                             <a href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&amp;contractnumber=[% contract.contractnumber | html %]&amp;booksellerid=[% contract.booksellerid | html %]">[% contract.contractname | html %]</a>
331                         </td>
332                         <td>[% contract.contractdescription | html %]</td>
333                         <td><span title="[% contract.contractstartdate | html %]">[% contract.contractstartdate | $KohaDates %]</span></td>
334                         <td><span title="[% contract.contractenddate | html %]">[% contract.contractenddate | $KohaDates %]</span></td>
335                         <td class="actions">
336                             <a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&amp;contractnumber=[% contract.contractnumber | html %]&amp;booksellerid=[% contract.booksellerid | html %]"><i class="fa fa-pencil"></i> Edit</a>
337                             <a class="btn btn-default btn-xs" href="/cgi-bin/koha/admin/aqcontract.pl?op=delete_confirm&amp;contractnumber=[% contract.contractnumber | html %]&amp;booksellerid=[% contract.booksellerid | html %]"><i class="fa fa-trash"></i> Delete</a>
338                         </td>
339                         </tr>
340                     [% END %]
341                   </tbody>
342                 </table>
343             </div>
344         [% END %]
345
346 [% END %]
347
348 </div>
349 </div>
350 <div class="yui-b">
351 [% INCLUDE 'vendor-menu.inc' %]
352 </div>
353 </div>
354
355 [% MACRO jsinclude BLOCK %]
356     [% Asset.js("js/acquisitions-menu.js") | $raw %]
357     [% INCLUDE 'datatables.inc' %]
358     <script type="text/javascript">
359         function confirm_deletion() {
360             if (confirm(_("Confirm deletion of this vendor ?"))) {
361                 window.location="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | html %]&op=delete";
362             }
363         }
364
365         function add_contact() {
366             var new_contact = $('#contact-template').clone();
367             var timestamp = new Date().getTime();
368             $(new_contact).removeAttr('id');
369             $('input, textarea', new_contact).each(function () {
370                 $(this).attr('id', $(this).attr('id') + '_' + timestamp);
371             });
372             $('label', new_contact).each(function () {
373                 $(this).attr('for', $(this).attr('for') + '_' + timestamp);
374             });
375             $(new_contact).insertBefore(this);
376             if ($('.supplier-contact').length === 2) { // First contact
377                 $.each(['.contact_acqprimary', '.contact_serialsprimary', '.contact_orderacquisition', '.contact_claimacquisition', '.contact_claimissues'], function (idx, checkbox) {
378                     $(checkbox, new_contact).click();
379                 });
380             }
381             $('input[name="contact_name"]', new_contact).focus();
382             return false;
383         }
384
385         function delete_contact(ev) {
386             $(this).parents('.supplier-contact').remove();
387             ev.preventDefault();
388         }
389
390          $(document).ready(function() {
391             var contractst = $("#contractst").dataTable($.extend(true, {}, dataTablesDefaults, {
392                 "aoColumnDefs": [
393                     { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
394                     { "sType": "title-string", "aTargets" : [ "title-string" ] }
395                 ],
396                 'sDom': 't'
397             } ) );
398             $('body').on('click', '.delete-contact', null, delete_contact);
399             $('#add-contact').click(add_contact);
400             $('body').on('click', '.contact_acqprimary', null, function () {
401                 if ($(this).is(':checked')) {
402                     $('.contact_acqprimary').filter(':checked').not(this).prop('checked', false);
403                     $('.contact_acqprimary_hidden').each(function () {
404                         $(this).val('0');
405                     });
406                 }
407                 $(this).next('.contact_acqprimary_hidden').val('1');
408             });
409             $('body').on('click', '.contact_serialsprimary', null, function () {
410                 if ($(this).is(':checked')) {
411                     $('.contact_serialsprimary').filter(':checked').not(this).prop('checked', false);
412                     $('.contact_serialsprimary_hidden').each(function () {
413                         $(this).val('0');
414                     });
415                 }
416                 $(this).next('.contact_serialsprimary_hidden').val($(this).is(':checked') ? '1' : '0');
417             });
418             $('body').on('click', '.contact_orderacquisition', null, function () {
419                 $(this).next('.contact_orderacquisition_hidden').val($(this).is(':checked') ? '1' : '0');
420             });
421             $('body').on('click', '.contact_claimacquisition', null, function () {
422                 $(this).next('.contact_claimacquisition_hidden').val($(this).is(':checked') ? '1' : '0');
423             });
424             $('body').on('click', '.contact_claimissues', null, function () {
425                 $(this).next('.contact_claimissues_hidden').val($(this).is(':checked') ? '1' : '0');
426             });
427         });
428     </script>
429 [% END %]
430
431 [% INCLUDE 'intranet-bottom.inc' %]