Bug 23319: Implement blocking errors for neworderbiblio and basket.pl
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / acqui / neworderempty.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE KohaDates %]
5 [% USE Price %]
6 [% USE ItemTypes %]
7 [% SET footerjs = 1 %]
8 [% INCLUDE 'doc-head-open.inc' %]
9 <title>Koha &rsaquo; Acquisitions &rsaquo; Basket [% basketno | html %] &rsaquo; [% IF ( ordernumber ) %]Modify order details (line #[% ordernumber | html %])[% ELSE %]New order[% END %]</title>
10 [% INCLUDE 'doc-head-close.inc' %]
11 </head>
12
13 <body id="acq_neworderempty" class="acq">
14
15 [% INCLUDE 'header.inc' %]
16 [% INCLUDE 'acquisitions-search.inc' %]
17
18 <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; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | html %]">[% name | html %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | html %]">Basket [% basketno | html %]</a> &rsaquo; [% IF ( ordernumber ) %]Modify order details (line #[% ordernumber | html %])[% ELSE %]New order[% END %]</div>
19
20 [% INCLUDE 'blocking_errors.inc' %]
21
22 <div class="main container-fluid">
23     <div class="row">
24         <div class="col-sm-10 col-sm-push-2">
25             <main>
26
27 <h2>
28     [% IF ( ordernumber ) %]
29         Modify order line
30     [% ELSE %]
31         New order
32     [% END %]
33 </h2>
34
35 <div class="dialog alert order_error" style="display:none"></div>
36
37 [% IF ( basketno ) %]
38     <div id="acqui_basket_summary">
39     <fieldset class="rows">
40         <legend>Basket details</legend>
41         <ol>
42         [% IF ( basketnote ) %]<li><span class="label">Internal note:</span> [% basketnote | html %]</li>[% END %]
43         [% IF ( basketbooksellernote ) %]<li><span class="label">Vendor note:</span> [% basketbooksellernote | html %]</li>[% END %]
44         [% IF ( basketcontractno ) %]
45             <li><span class="label">Contract number: </span>[% basketcontractno | html %]</li>
46             <li><span class="label">Contract name:</span> <a href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&amp;contractnumber=[% basketcontractno | uri %]">[% basketcontractname | html %]</a></li>
47         [% END %]
48         [% IF ( authorisedbyname ) %]<li><span class="label">Managed by:</span>  [% authorisedbyname | html %]</li>[% END %]
49         [% IF ( creationdate ) %]<li><span class="label">Open on:</span>  [% creationdate | $KohaDates %]</li>[% END %]
50         [% IF ( closedate ) %]
51         <form action="/cgi-bin/koha/acqui/basketgroup.pl" method="post">
52         <li><span class="label">Closed on:</span>  [% closedate | $KohaDates %]</li>
53         [% IF ( basketgroups ) %]
54             <li>Basketgroup: <select id="basketgroupid" name="basketgroupid">
55                 [% FOREACH basketgroup IN basketgroups %]
56                     [% IF ( basketgroup.default ) %]
57                     <option value="[% basketgroup.id | html %]" selected="selected">[% basketgroup.name | html %]</option>
58                     [% ELSE %]
59                     <option value="[% basketgroup.id | html %]">[% basketgroup.name | html %]</option>
60                     [% END %]
61                 [% END %]
62                 </select>
63                 <input type="hidden" id="basketno" value="[% basketno | html %]" name="basketno" />
64                 <input type="hidden" value="mod_basket" name="op" />
65                 <input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
66             </li>
67             <fieldset class="action"><input type="submit" value="Change basketgroup" /></fieldset>
68         [% END %]
69         </form>
70         [% END %]
71         </ol>
72     </fieldset>
73     </div>
74 [% END %]
75
76 <form action="/cgi-bin/koha/acqui/addorder.pl" method="post" class="validated noEnterSubmit" id="Aform" onsubmit="return Check(this);" >
77
78     <fieldset class="rows">
79         <legend>Patrons</legend>
80         <ol>
81             <li>
82                 <span class="label">To notify on receiving:</span>
83                 <div style="float:left">
84                     <ul id="users_names" style="padding-left:0">
85                       [% FOREACH user IN users %]
86                         <li id="user_[% user.borrowernumber | html %]">
87                             [% user.firstname | html %] [% user.surname | html %]
88                             [<a onclick="del_user([% user.borrowernumber | html %]);" style="cursor:pointer">Delete user</a>]
89                         </li>
90                       [% END %]
91                     </ul>
92                     <input type="hidden" id="users_ids" name="users_ids" value="[% users_ids | html %]" />
93                     <input type="hidden" id="op" name="op" value="mod_users" />
94                     <input type="button" id="add_user" onclick="UserSearchPopup();" value="Add user" />
95                 </div>
96             </li>
97         </ol>
98     </fieldset>
99
100 <fieldset class="rows">
101         <legend>
102             Catalog details
103             [% IF ( biblionumber ) %]
104                 <span><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber | uri %]"> Edit record</a></span>
105             [% END %]
106         </legend>
107         [% UNLESS ( existing ) %]
108         <input type="hidden" name="existing" value="no" />
109         [% END %]
110         <input type="hidden" name="ordernumber" value="[% ordernumber | html %]" />
111         <input type="hidden" name="basketno" value="[% basketno | html %]" />
112         <input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
113         <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
114         <input type="hidden" name="listinc" id="listinc" value="[% listincgst | html %]" />
115         <input type="hidden" name="invoiceincgst" id="invoiceincgst" value="[% invoiceincgst | html %]" />
116         <input type="hidden" name="suggestionid" value="[% suggestionid | html %]" />
117         <input type="hidden" name="import_batch_id" value="[% import_batch_id | html %]" />
118
119         [% FOREACH c IN currencies %]
120             <input type="hidden" id="currency_rate_[% c.currency | html %]"  name="[% c.currency | html %]" value="[% c.rate | html %]" />
121         [% END %]
122
123         [% IF NOT Koha.Preference('UseACQFrameworkForBiblioRecords') OR NoACQframework %]
124             <ol><li>
125                 [% IF ( biblionumber ) %]
126                 <span class="label">Title</span>
127                     <input type="hidden" name="title" value="[% title | html %]" /> <span class="title">[% title | html %]</span>
128                 [% ELSE %]
129                 <label for="entertitle">Title: </label>
130                     <input type="text" id="entertitle" size="50" name="title" value="[% title | html %]" class="focus" required="required" />
131                     <span class="required">Required</span>
132                 [% END %]
133             </li>
134             <li>
135                 [% IF ( biblionumber ) %]
136                 <span class="label">Author: </span>
137                     <input type="hidden" name="author" id="author" value="[% author | html %]" />[% author | html %]
138                 [% ELSE %]
139                 <label for="author">Author: </label>
140                     <input type="text" size="50" name="author" id="author" value="[% author | html %]" />
141                 [% END %]
142             </li>
143             <li>
144                 [% IF ( biblionumber ) %]
145                 <span class="label">Publisher: </span>
146                     <input type="hidden" name="publishercode" id="publishercode" value="[% publishercode | html %]" />[% publishercode | html %]
147                 [% ELSE %]
148                 <label for="publishercode"> Publisher: </label>
149                     <input type="text" size="50" name="publishercode" id="publishercode" value="[% publishercode | html %]" />
150                 [% END %]
151             </li>
152             <li>
153                 [% IF ( biblionumber ) %]
154                 <span class="label">Edition: </span>
155                     <input type="hidden" name="editionstatement" id="editionstatement" value="[% editionstatement | html %]" />[% editionstatement | html %]
156
157                 [% ELSE %]
158                 <label for="editionstatement">Edition: </label>
159                     <input type="text" size="20" name="editionstatement" id="editionstatement" value="[% editionstatement | html %]" />
160                 [% END %]
161             </li>
162             <li>
163                 [% IF ( biblionumber ) %]
164                 <span class="label">Publication year: </span>
165                     <input type="hidden" name="publicationyear" id="publicationyear" value="[% publicationyear | html %]" />[% publicationyear | html %]
166                 [% ELSE %]
167                 <label for="publicationyear">Publication year: </label>
168                     <input type="text" size="10" name="publicationyear" id="publicationyear" value="[% publicationyear | html %]" />
169                 [% END %]
170             </li>
171             <li>
172                 [% IF ( biblionumber ) %]
173                 <span class="label">ISBN: </span>
174                     <input type="hidden" name="isbn" id="ISBN" value="[% isbn | html %]" />[% isbn | html %]
175                 [% ELSE %]
176                 <label for="ISBN">ISBN: </label>
177                     <input type="text" size="50" name="isbn" id="ISBN" value="[% isbn | html %]" />
178                 [% END %]
179             </li>
180             [% IF (UNIMARC) %]
181             <li>
182                 [% IF ( biblionumber ) %]
183                 <span class="label">EAN: </span>
184                     <input type="hidden" name="ean" id="EAN" value="[% ean | html %]" />[% ean | html %]
185                 [% ELSE %]
186                 <label for="EAN">EAN: </label>
187                     <input type="text" size="20" name="ean" id="EAN" value="[% ean | html %]" />
188                 [% END %]
189             </li>
190             [% END %]
191             <li>
192                 [% IF ( biblionumber ) %]
193                 <span class="label">Series: </span>
194                     <input type="hidden" name="series" id="series" value="[% seriestitle | html %]" />[% seriestitle | html %]
195                 [% ELSE %]
196                 <label for="series">Series: </label>
197                     <input type="text" size="50" name="series" id="series" value="[% seriestitle | html %]" />
198                 [% END %]
199             </li>
200                 [% UNLESS ( biblionumber ) %]
201                 [% IF ( itemtypeloop ) %]
202                 <li>
203                     <span class="label">Item type:</span>
204                     <select name="itemtype" style="width:12em;">
205                     [% FOREACH itemtype IN itemtypeloop %]
206                         <option value="[% itemtype.itemtype | html %]">[% itemtype.description | html %]</option>
207                     [% END %]
208                     </select>
209                 </li>
210                 [% END %]
211                 [% END %]
212             </ol>
213         [% ELSE %]
214             <input type="hidden" name="use_ACQ_framework" value="1" />
215             [% IF biblionumber %]
216                 <ol>
217                     [% FOREACH field IN catalog_details %]
218                         <li>
219                             <div class="subfield_line">
220                                 <label>[% field.lib | html %] ([% field.tag | html %][% field.subfield | html %])</label>
221                                 [% field.value | html %]
222                             </div>
223                         </li>
224                     [% END %]
225                 </ol>
226             [% ELSE %]
227                 <ol>
228                     [% FOREACH field IN catalog_details %]
229                         <li>
230                             <div class="subfield_line">
231                                 [% PROCESS display_subfield field=field %]
232                             </div>
233                         </li>
234                     [% END %]
235                 </ol>
236             [% END %]
237         [% END %]
238     </fieldset>
239
240     [% IF ( suggestionid ) %]
241         <fieldset class="rows">
242         <legend>Suggestion</legend>
243         <ol>
244           <li>
245             <span class="label">Suggested by: </span>
246             [% surnamesuggestedby | html %][% IF ( firstnamesuggestedby ) %], [% firstnamesuggestedby | html %][% END %] (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% suggestionid | uri %]&amp;op=show">suggestion #[% suggestionid | html %]</a>)
247           </li>
248         </ol>
249         </fieldset>
250     [% END %]
251
252     [% UNLESS subscriptionid || basket.is_standing %][% # it is a suggestion, we have not items %]
253       [% IF (AcqCreateItemOrdering) %]
254
255       <div id="items_list" style="display:none">
256           <p><b>Items list</b></p>
257           <div style="width:100%;overflow:auto;">
258               <table>
259                   <thead>
260                       <tr>
261                           <th>Actions</th>
262                           <th>Barcode</th>
263                           <th>Home library</th>
264                           <th>Holding library</th>
265                           <th>Not for loan</th>
266                           <th>Restricted</th>
267                           <th>Location</th>
268                           <th>Call number</th>
269                           <th>Copy number</th>
270                           <th>Inventory number</th>
271                           <th>Collection code</th>
272                           <th>Item type</th>
273                           <th>Materials</th>
274                           <th>Notes</th>
275                       </tr>
276                   </thead>
277                   <tbody>
278                   </tbody>
279               </table>
280           </div>
281       </div>
282
283       <fieldset class="rows" id="itemfieldset">
284           <legend>Item</legend>
285           [% IF ( NoACQframework ) %]
286               <div class="dialog message">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</div>
287           [% END %]
288
289           [% UNLESS Koha.Preference('autoBarcode') == 'OFF' %]
290               <div class="dialog message">The autoBarcode system preference is set to [% Koha.Preference('autoBarcode') | html %] and items with blank barcodes will have barcodes generated upon save to database</div>
291           [% END %]
292
293           <div id="outeritemblock"></div>
294
295       </fieldset>
296       [% END %][%# | html UNLESS subscriptionid %]
297     [% END %][%# IF (AcqCreateItemOrdering) %]
298     <fieldset class="rows">
299         <legend>Accounting details</legend>
300         <ol>
301             <li>
302                 [% IF ( close ) %]
303                     <span class="label required">Quantity: </span>
304                     <input type="hidden" name="quantity" value="[% quantity | html %]" />[% quantity | html %]
305                 [% ELSE %]
306                     <label class="required" for="quantity">Quantity: </label>
307                     [% IF subscriptionid %]
308                         <input type="text" size="20" id="quantity" name="quantity" value="1" onchange="updateCosts();" />
309                     [% ELSIF AcqCreateItemOrdering %]
310                         [% IF basket.is_standing %]
311                             <input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="1" />
312                         [% ELSE %]
313                             <input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="0" />
314                         [% END %]
315                     [% ELSE %]
316                         [% IF basket.is_standing %]
317                             <input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="1" />
318                         [% ELSE %]
319                             <input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec | html %]" onchange="updateCosts();" />
320                         [% END %]
321                     [% END %]
322                     <span class="required">Required</span>
323                 [% END %]
324                 <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiveing an order -->
325                 <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
326
327                 [% IF subscription %]
328                     <br/>
329                     <div class="hint">
330                         Frequency: [% subscription.frequency.description | html %] |
331                         [% IF subscription.numberlength %]Number of issues: [% subscription.numberlength | html %][% END %]
332                         [% IF subscription.weeklength   %]Number of weeks: [% subscription.weeklength | html %][% END %]
333                         [% IF subscription.monthlength  %]Number of months: [% subscription.monthlength | html %][% END %]
334                     </div>
335                 [% END %]
336             </li>
337             <li>
338                 [% IF ( close ) %]
339             <span class="label required">Fund: </span>
340                     <input type="hidden" name="budget_id" id="budget_id" value="[% budget_id | html %]" />[% Budget_name | html %]
341                 [% ELSE %]
342                 <label class="required" for="budget_id">Fund: </label>
343                 [% active_count = 0 %]
344                 [% IF !ordernumber %]
345                     [% FOREACH budget_loo IN budget_loop %]
346                         [% active_count= active_count + budget_loo.b_active %]
347                     [% END %]
348                 [% END %]
349                 <select id="budget_id" size="1" name="budget_id">
350                     <option value="">Select a fund</option>
351                 [% FOREACH budget_loo IN budget_loop %]
352                     [% IF ( budget_loo.b_sel ) %]
353                         [% active_count = 0 #select no other fund %]
354                         <option value="[% budget_loo.b_id | html %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
355                                 style="padding-left:[% budget_loo.b_level | html %]em;"
356                         >
357                     [% ELSIF active_count==1 && budget_loo.b_active %]
358                         <option value="[% budget_loo.b_id | html %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
359                                 style="padding-left:[% budget_loo.b_level | html %]em;"
360                         >
361                     [% ELSE %]
362                         [% bdgclass=budget_loo.b_active? "": "b_inactive" | html %]
363                         <option value="[% budget_loo.b_id | html %]" class="[% bdgclass | html %]" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
364                                 style="padding-left:[% budget_loo.b_level | html %]em;"
365                         >
366                     [% END %]
367                     [% budget_loo.b_txt | html %][% IF !budget_loo.b_active %] (inactive)[% END %]
368                     </option>
369                 [% END %]
370                 </select>
371                 <span class="required">Required</span>
372                 <label for="showallbudgets" style="float:none;">&nbsp;Show inactive:</label>
373                 <input type="checkbox" id="showallbudgets" />
374                 [% END %]
375             </li>
376                 <li>
377                 [% IF ( close ) %]
378                         <span class="label">Currency: </span>
379             <input type="hidden" name="currency" id="currency" value="[% currency | html %]" />[% currency | html %]
380                 [% ELSE %]
381                         <label for="currency">Currency:</label>
382             <select name="currency" id="currency" onchange="updateCosts();">
383                 [% FOREACH c IN currencies %]
384                     [% IF ordernumber and c.currency == currency or not ordernumber and c.currency == vendor_currency %]
385                         <option value="[% c.currency | html %]" selected="selected">[% c.currency | html %]</option>
386                     [% ELSIF not c.archived %]
387                         <option value="[% c.currency | html %]">[% c.currency | html %]</option>
388                     [% END %]
389                 [% END %]
390             </select>
391                 [% END %]
392                 </li>
393             <li>
394                 [% IF ( close ) %]
395                     <span class="label">Vendor price: </span>
396                     <input type="hidden" name="listprice" id="listprice" value="[% listprice | html %]" />[% listprice | html %] [% IF (listincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]
397                 [% ELSE %]
398                 <label for="listprice">Vendor price: </label>
399                     <input type="text" size="20" name="listprice" id="listprice" value="[% listprice | html %]" onchange="updateCosts()" /> [% IF (listincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]
400                 [% END %]
401             </li>
402             [% UNLESS ( close ) %]
403             <li>
404                     <label for="uncertainprice">Uncertain price: </label>
405                     [% IF ( uncertainprice ) %]
406                     <input type="checkbox" name="uncertainprice"  id="uncertainprice" value="1" checked="checked" />
407                     [% ELSE %]
408                     <input type="checkbox" name="uncertainprice" id="uncertainprice" value="1" />
409                 [% END %]
410             </li>
411             [% END %]
412             [% IF ( gst_values ) %]
413                 <li>
414                     [% IF ( close ) %]
415                         <span class="label">Tax rate: </span>
416                         <input type="hidden" name="tax_rate" id="tax_rate" value="[% tax_rate | html %]" />[% tax_rate | html %]%
417                     [% ELSE %]
418                         <label for="tax_rate">Tax rate: </label>
419                         <select name="tax_rate" id="tax_rate" onchange="updateCosts();">
420                         [% FOREACH gst IN gst_values %]
421                           [% IF ( gst.option == tax_rate ) %]
422                             <option value="[% gst.option | html %]" selected="selected">[% gst.option * 100 | html %]%</option>
423                           [% ELSE %]
424                             <option value="[% gst.option | html %]">[% gst.option * 100 | html %]%</option>
425                           [% END %]
426                         [% END %]
427                         </select>
428                     [% END %]
429                 [% ELSE %]
430                     <input type="hidden" name="tax_rate" value="0" />
431                 </li>
432             [% END %]
433             <li>
434                 <label for="discount">Discount: </label>
435                 [% IF ( close ) %]
436                     [% IF ( orderdiscount ) %]
437                         <input type="hidden" name="discount" id="discount" value="[% orderdiscount | html %]" />[% orderdiscount_2dp | html %]%
438                     [% ELSE %]
439                         <input type="hidden" name="discount" id="discount" value="[% discount | html %]" />[% discount_2dp | html %]%
440                     [% END %]
441                 [% ELSE %]
442                     [% IF ( orderdiscount ) %]
443                         <input type="text" size="6" name="discount" id="discount" value="[% orderdiscount | html %]" onchange="updateCosts();" />%
444                     [% ELSE %]
445                         <input type="text" size="6" name="discount" id="discount" value="[% discount | html %]" onchange="updateCosts();" />%
446                     [% END %]
447                 [% END %]
448             </li>
449             <li>
450                 [% IF ( close ) %]
451                     <span class="label">Retail price: </span>
452                     <input type="hidden" name="rrp" id="rrp" value="[% rrp | html %]" />[% rrp | html %]  (adjusted for [% cur_active | html %], [% IF (listincgst == 1) %]tax inclusive[% ELSE %]tax exclusive[% END %])
453                 [% ELSE %]
454                     <label for="rrp">Retail price: </label>
455                     <input type="text" size="20" name="rrp" id="rrp" value="[% rrp | html %]" /> (adjusted for [% cur_active | html %], [% IF (listincgst == 1) %]tax inclusive[% ELSE %]tax exclusive[% END %])
456                 [% END %]
457             </li>
458             <li>
459                 <label for="replacementprice">Replacement cost: </label>
460                 <input type="text" size="20" name="replacementprice" id="replacementprice" value="[% replacementprice | html | $Price on_editing => 1 %]" />
461             </li>
462             <li>
463                 <label for="ecost">Budgeted cost: </label>
464                 <input type="text" size="20" name="ecost" id="ecost" value="[% ecost | html %]" readonly="readonly"  /> [% IF (listincgst == 1) %](tax inclusive)[% ELSE %](tax exclusive)[% END %]
465             </li>
466             <li>
467                 <label for="total">Total: </label>
468                 <input type="text" id="total" size="20" name="total" value="[% total | html %]" readonly="readonly" /> (budgeted cost * quantity)
469             </li>
470             <li>
471                 <label for="order_internalnote">Internal note: </label>
472                 <textarea id="order_internalnote" cols="30" rows="3" name="order_internalnote" >[% IF ( order_internalnote ) %][% order_internalnote | html %][% END %]</textarea>
473             </li>
474             <li>
475                 <label for="order_vendornote">Vendor note: </label>
476                 <textarea id="order_vendornote" cols="30" rows="3" name="order_vendornote" >[% IF ( order_vendornote ) %][% order_vendornote | html %][% END %]</textarea>
477             </li>
478             <li><div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div>
479                 <label for="sort1">Statistic 1: </label>
480                 <input id="sort1" type="text" id="sort1" size="20" name="sort1" value="[% sort1 | html %]" />
481             <li>
482                 <label for="sort2">Statistic 2: </label>
483                 <input id="sort2" type="text" id="sort2" size="20" name="sort2" value="[% sort2 | html %]" />
484             </li>
485         </ol>
486     </fieldset>
487     <fieldset class="action">
488         <input type="hidden" name="subscriptionid" value="[% subscriptionid | html %]" />
489         <input type="submit" value="Save" />
490         [% IF (suggestionid) %]
491             <a class="cancel" href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% booksellerid | html %]&amp;basketno=[% basketno | html %]">Cancel</a>
492         [% ELSE %]
493             [% IF subscriptionid %]
494                 <a class="cancel" href="/cgi-bin/koha/acqui/newordersubscription.pl?booksellerid=[% booksellerid | html %]&amp;basketno=[% basketno | html %]">Cancel</a>
495             [% ELSE %]
496                 <a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | html %]">Cancel</a>
497             [% END %]
498         [% END %]
499     </fieldset>
500 </form>
501
502 <div id="procModal" data-backdrop="static" class="modal fade" aria-labelledby="procModal" aria-hidden="true">
503     <div class="modal-dialog">
504     <div class="modal-content">
505     <div class="modal-body">
506     <h3>Processing multiple items</h3>
507     </div>
508     </div>
509     </div>
510 </div>
511
512 <div id="multiCountModal" class="modal fade" aria-labelledby="multiCountModal" aria-hidden="true">
513     <div class="modal-dialog">
514     <div class="modal-content">
515     <h3>Invalid number of copies</h3>
516     <p>Please enter a <b>number</b>, greater than or equal to 1</p>
517     </div>
518     </div>
519 </div>
520
521 </main>
522 </div> <!-- /.col-sm-10.col-sm-push-2 -->
523
524 <div class="col-sm-2 col-sm-pull-10">
525     <aside>
526         [% INCLUDE 'acquisitions-menu.inc' %]
527     </aside>
528 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
529 </div> <!-- /.row -->
530
531 [% MACRO jsinclude BLOCK %]
532     [% Asset.js("js/acquisitions-menu.js") | $raw %]
533     [% Asset.js("js/acq.js") | $raw %]
534     [% INCLUDE 'additem.js.inc' %]
535     [% Asset.js("js/additem.js") | $raw %]
536     [% Asset.js("js/cataloging.js") | $raw %]
537     <script>
538         actTotal = "";
539
540         function Check(ff) {
541             [% IF (AcqCreateItemOrdering) %]
542                 // Remove last itemblock if it is not in items_list
543                 var lastitemblock = $("#outeritemblock > div:last");
544                 var tobedeleted = true;
545                 var listitems = $("#items_list tr");
546                 $(listitems).each(function(){
547                     if($(this).attr('idblock') == $(lastitemblock).attr('id')){
548                         tobedeleted = false;
549                     }
550                 });
551                 if(tobedeleted){
552                     $(lastitemblock).remove();
553                 }
554             [% END %]
555
556             var ok=0;
557             var _alertString= _("Form not submitted because of the following problem(s)")+"\n";
558
559             _alertString +="-------------------------------------------------------------------\n\n";
560
561             if(isNull(ff.budget_id,1)){
562                 ok=1;
563                 _alertString += "\n- "+ _("You must select a fund");
564             }
565
566             if (!(isNum(ff.quantity,0)) || ff.quantity.value == 0){
567                 ok=1;
568                             _alertString += "\n- " + _("Quantity must be greater than '0'");
569             }
570
571             if (!(isNum(ff.listprice,0))){
572                 ok=1;
573                             _alertString += "\n- " + _("Vendor price must be a number");
574             }
575
576             if (!(isNum(ff.total,0))){
577                 ok=1;
578                             _alertString += "\n- " + _("Total must be a number");
579             }
580
581             if (totalExceedsBudget(ff.budget_id.value, ff.total.value  )  ) {
582                 ok=1;
583                 _alertString += "\n- " + _("Order total (%s) exceeds budget available (%s)").format(ff.total.value, actTotal);
584             }
585
586             if ( ff.field_value ) {
587                 var empty_item_mandatory = CheckMandatorySubfields(ff);
588                 if (empty_item_mandatory > 0) {
589                     ok = 1;
590                     _alertString +=
591                         "\n- " + _("%s item mandatory fields empty").format(empty_item_mandatory);
592                 }
593
594             }
595
596             if (ok) {
597                 alert(_alertString);
598                 [% IF (AcqCreateItemOrdering) %]
599                     if(tobedeleted) {
600                         $(lastitemblock).appendTo('#outeritemblock');
601                     }
602                 [% END %]
603                 return false;
604             }
605
606             [% IF (AcqCreateItemOrdering) %]
607                 if(check_additem('[% UniqueItemFields | html %]') == false) {
608                     alert(_("Duplicate values detected. Please correct the errors and resubmit.") );
609                     if(tobedeleted) {
610                         $(lastitemblock).appendTo('#outeritemblock');
611                     }
612                     return false;
613                 }
614             [% END %]
615         }
616
617         $(document).ready(function(){
618             [% IF AcqCreateItemOrdering and not basket.is_standing %]
619                 cloneItemBlock(0, '[% UniqueItemFields | html %]');
620             [% END %]
621
622             [% IF ( suggestionid ) %]updateCosts();[% END %]
623             $("#quantity").change(function() {
624                 updateCosts();
625             });
626
627             //We apply the fonction only for modify option
628             [% IF ( quantityrec and not subscriptionid ) %]
629                 [% IF ( acqcreate ) %]
630                     $('#quantity').blur(function(){
631                         // if user decreases the quantity
632                         if($(this).val() < [% quantityrec | html %]){
633                             alert(_("You have deleted item(s) in the order, don't forget to delete it(them) in the catalog"));
634                             return true;
635                         } else {
636                             // if user increases the quantity
637                             alert(_("You can't add a new item, please create a new order line"));
638                             // and we replace the original value
639                             $(this).val([% quantityrec | html %])
640                             updateCosts(); // blur is invoked after change which updated values
641                             return false;
642                         }
643                     });
644                 [% END %]
645             [% END %]
646
647             //keep a copy of all budgets before removing the inactives
648             disabledBudgetsCopy = $('#budget_id').html();
649             $('#budget_id .b_inactive').remove();
650
651             $('#showallbudgets').click(function() {
652                 if ($(this).is(":checked")) {
653                     $('#budget_id').html(disabledBudgetsCopy); //Puts back all the funds
654                 }
655                 else {
656                     $('#budget_id .b_inactive').remove();
657                 }
658             });
659
660             $("#budget_id").change(function(){
661                 var destination_sort1 = $(this).parents('fieldset.rows').find('input[name="sort1"]');
662                 var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
663                 var sort1 = $(destination_sort1).val() || "";
664                 if ( destination_sort1.length < 1 ) {
665                     destination_sort1 = $(this).parents('fieldset.rows').find('select[name="sort1"]');
666                 }
667                 var destination_sort2 = $(this).parents('fieldset.rows').find('input[name="sort2"]');
668                 var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
669                 var sort2 = $(destination_sort2).val() || "";
670                 if ( destination_sort2.length < 1 ) {
671                     destination_sort2 = $(this).parents('fieldset.rows').find('select[name="sort2"]');
672                 }
673                 getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1, sort1 );
674                 getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2, sort2 );
675             });
676             $("#budget_id").change();
677         });
678
679         function UserSearchPopup(f) {
680             window.open(
681                 "/cgi-bin/koha/acqui/add_user_search.pl",
682                 'UserSearchPopup',
683                 'width=740, height=450, scrollbars=yes, toolbar=no,'
684              );
685         }
686
687         function add_user(borrowernumber, borrowername) {
688             var ids = $("#users_ids").val();
689             if(ids.length > 0) {
690                 ids = ids.split(':');
691             } else {
692                 ids = new Array;
693             }
694         if (ids.indexOf(borrowernumber.toString()) < 0) {
695                 ids.push(borrowernumber);
696                 $("#users_ids").val(ids.join(':'));
697                 var li = '<li id="user_'+borrowernumber+'">'+borrowername
698                     + ' [<a style="cursor:pointer" onclick="del_user('+borrowernumber+');">'
699                     + _("Delete user") + '</a>]</li>';
700                 $("#users_names").append(li);
701                 return 0;
702             }
703             return -1;
704         }
705
706         function del_user(borrowernumber) {
707             $("#user_"+borrowernumber).remove();
708             var ids = $("#users_ids").val().split(':');
709             ids.splice(ids.indexOf(borrowernumber.toString()), 1);
710             $("#users_ids").val(ids.join(':'));
711         }
712     </script>
713 [% END %]
714
715 [% INCLUDE 'intranet-bottom.inc' %]
716
717 [% BLOCK display_subfield %]
718     <label>[% field.lib | html %] ([% field.tag | html %][% field.subfield | html %])</label>
719     [% IF field.authorised_value %]
720         [% SWITCH field.authorised_value %]
721         [% CASE 'branches' %]
722             [% IF field.mandatory %]
723             <select name="bib_field_value" required="required">
724             [% ELSE %]
725             <select name="bib_field_value">
726             [% END %]
727                 <option value=""></option>
728                 [% PROCESS options_for_libraries libraries => Branches.all( selected => "FIXME" ) %]
729             </select>
730         [% CASE 'itemtypes' %]
731             [% IF field.mandatory %]
732             <select name="bib_field_value" required="required">
733             [% ELSE %]
734             <select name="bib_field_value">
735             [% END %]
736                 <option value=""></option>
737                 [% PROCESS options_for_item_types itemtypes => ItemTypes.Get(), selected_itemtype => "FIXME" %]
738             </select>
739         [% CASE 'cn_source' %]
740         [% CASE %]
741             [% PROCESS 'av-build-dropbox.inc' name="bib_field_value", category=field.authorised_value, default="FIXME" %]
742         [% END %]
743     [% ELSE %]
744         [% IF field.mandatory %]
745         <input type="text" name="bib_field_value" value="[% field.value | html %]" required="required" size="50" />
746         [% ELSE %]
747         <input type="text" name="bib_field_value" value="[% field.value | html %]" size="50" />
748         [% END %]
749
750     [% END %]
751     <input type="hidden" name="bib_kohafield" value="[% field.kohafield | html %]" />
752     <input type="hidden" name="bib_tag" value="[% field.tag | html %]" />
753     <input type="hidden" name="bib_subfield" value="[% field.subfield | html %]" />
754     [% IF field.mandatory %] <span class="required">Required</span>[% END %]
755 [% END %]