Bug 20798: Client side validation for for fund selection prevents adding only some...
[koha-equinox.git] / koha-tmpl / intranet-tmpl / prog / en / modules / acqui / addorderiso2709.tt
1 [% USE Asset %]
2 [% USE KohaDates %]
3 [% USE Branches %]
4 [% SET footerjs = 1 %]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>Koha &rsaquo; Acquisitions &rsaquo; Order staged MARC records
7 [% IF ( batch_details ) %]
8  &rsaquo; Batch [% import_batch_id %]
9 [% ELSE %]
10  &rsaquo; Batch list
11 [% END %]
12 </title>
13 [% Asset.css("css/datatables.css") %]
14 <style type="text/css">#dataPreview { width : 80%; } @media (max-width: 767px) { #dataPreview { margin: 0; width : auto; } }</style>
15 [% INCLUDE 'doc-head-close.inc' %]
16 </head>
17
18 <body id="acq_addorderiso2709" class="acq">
19 [% INCLUDE 'header.inc' %]
20 [% INCLUDE 'acquisitions-search.inc' %]
21 <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 %]">[% booksellername %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo;  Add orders from iso2709 file</div>
22 <div id="doc3" class="yui-t2">
23    <div id="bd">
24        <div id="yui-main">
25            <div class="yui-b">
26              [% IF ( allmatch ) %]<div class="dialog alert">
27               <h4>No records imported</h4>
28              No record have been imported because they all match an existing record in your catalog.<br />You'll have to treat them individually.
29              </div>
30              [% END %]
31
32              [% IF ( batch_details ) %]
33                 <h1>Add orders from [% comments %]
34                     ([% file_name %] staged on [% upload_timestamp | $KohaDates with_hours => 1 %])
35                 </h1>
36                 <form action="/cgi-bin/koha/acqui/addorderiso2709.pl" method="post" id="Aform">
37                 <div id="tabs" class="toptabs">
38                   <ul>
39                     <li><a href="#records_to_import">Select to import</a></li>
40                     <li><a href="#items_info" class="items_info">Item information</a></li>
41                     <li><a href="#accounting_details">Default accounting details</a></li>
42                   </ul>
43
44                   <div id="records_to_import">
45                     <div id="searchheader">
46                         <div>
47                             <span class="checkall"><a id="checkAll" href="#">Select all</a></span>
48                             |
49                             <span class="uncheckall"><a id="unCheckAll" href="#">Clear all</a></span>
50                             |
51                             <span>
52                                 <label for="matcher_id">Matching:</label>
53                                     <select name="matcher_id" id="matcher_id">
54                                         <option value="_TITLE_AUTHOR_">Title and author</option>
55                                         <option value="">Do not look for matching records</option>
56                                         [% FOREACH available_matcher IN available_matchers %]
57                                             [% IF ( available_matcher.code == current_matcher_code ) %]
58                                                 <option value="[% available_matcher.matcher_id %]" selected="selected">
59                                                     [% available_matcher.code %] ([% available_matcher.description %])
60                                                 </option>
61                                             [% ELSE %]
62                                                 <option value="[% available_matcher.matcher_id %]">
63                                                     [% available_matcher.code %] ([% available_matcher.description %])
64                                                 </option>
65                                             [% END %]
66                                         [% END %]
67                                     </select>
68                             </span>
69                             |
70                             <span>
71                                 <label for="showallbudgets" style="float:none;width:auto;">&nbsp;Show inactive funds:</label>
72                                 <input type="checkbox" id="showallbudgets" />
73                             </span>
74                         </div>
75                     </div>
76
77                         <input type="hidden" name="op" value="import_records"/>
78                         <input type="hidden" name="basketno" value="[% basketno %]" />
79                         <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
80                         <input type="hidden" name="import_batch_id" value="[%import_batch_id %]" />
81                         <input type="hidden" name="ordernumber" value="[% ordernumber %]" />
82
83                         [% FOREACH biblio IN biblio_list %]
84                         <fieldset class="biblio unselected rows" style="float:none;">
85                           <legend>
86                             <label for="record_[% biblio.import_record_id %]" style="width:auto;">
87                               <input type="checkbox" name="import_record_id" id="record_[% biblio.import_record_id %]" value="[% biblio.import_record_id %]" />
88                               <span class="citation">[% biblio.citation %]</span>
89                             </label>
90                             <span class="links" style="font-weight: normal;">
91                               ( <a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% biblio.import_record_id %]" class="previewData">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;importid=[% biblio.import_record_id %]" class="previewData">Card</a> | <a href="/cgi-bin/koha/acqui/neworderempty.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]&amp;breedingid=[% biblio.import_record_id %]&amp;import_batch_id=[% biblio.import_batch_id %]&amp;biblionumber=[% biblio.match_biblionumber %]">Add order</a> )
92                             </span>
93                           </legend>
94                           <div style="float:left">
95                           <ol>
96                             <li class="status">
97                               <span class="match">
98                                 [% IF ( biblio_lis.overlay_status == 'no_match' ) %]
99                                     No match
100                                 [% ELSIF ( biblio_lis.overlay_status == 'match_applied' ) %]
101                                     Match applied
102                                 [% ELSIF ( biblio_lis.overlay_status == 'auto_match' ) %]
103                                     Match found
104                                 [% ELSE %]
105                                     [% biblio_lis.overlay_status %]
106                                 [% END %]
107                                 [% IF ( biblio.match_biblionumber ) %]
108                                   Matches biblio [% biblio.match_biblionumber %] (score = [% biblio.match_score %]): <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.match_biblionumber %]">[% biblio.match_citation %]</a>
109                                 [% END %]
110                               </span>
111                             </li>
112                             <li class="quantity">
113                                 <label for="quantity_record_[% biblio.import_record_id %]" class="required">Quantity: </label>
114                                 <input id="quantity_record_[% biblio.import_record_id %]" type="text" value="[% biblio.quantity.length ? biblio.quantity : 1 %]" name="quantity" />
115                             </li>
116                             <li class="price">
117                                 <label for="price_record_[% biblio.import_record_id %]">Price: </label>
118                                 <input id="price_record_[% biblio.import_record_id %]" type="text" value="[% biblio.price %]" name="price" />
119                             </li>
120                             <li class="discount">
121                                 <label for="discount_record_[% biblio.import_record_id %]">Discount: </label>
122                                 <input id="discount_record_[% biblio.import_record_id %]" type="text" value="[% biblio.discount %]" name="discount" size="6" /> %
123                                 (If empty, discount rate from vendor will be used)
124                             </li>
125                             <li class="budget">
126                                 <label for="fund_record_[% biblio.import_record_id %]">Fund: </label>
127                                 [% IF ( close ) %]
128                                   <input type="hidden" size="20" name="budget_id" value="[% budget_id %]" />[% Budget_name %]
129                                 [% ELSE %]
130                                   <select id="fund_record_[% biblio.import_record_id %]" size="1" name="budget_id">
131                                     <option value="">Select a fund</option>
132                                     [% FOREACH budget IN budget_loop %]
133                                         [% IF ( budget.b_id == biblio.budget_id ) %]
134                                           [% IF budget.b_active %]
135                                             <option value="[% budget.b_id %]" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]" selected="selected">[% budget.b_txt %]</option>
136                                           [% ELSE %]
137                                             <option value="[% budget.b_id %]" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]" selected="selected">[% budget.b_txt %] (inactive)</option>
138                                           [% END %]
139                                         [% ELSE %]
140                                             [% IF budget.b_active %]<option value="[% budget.b_id %]" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]">[% budget.b_txt %]</option>
141                                             [% ELSE %]<option value="[% budget.b_id %]" class="b_inactive" data-sort1-authcat="[% budget.b_sort1_authcat %]" data-sort2-authcat="[% budget.b_sort2_authcat %]">[% budget.b_txt %] (inactive)</option>
142                                             [% END %]
143                                         [% END %]
144                                     [% END %]
145                                   </select>
146                                 [% END %]
147                             </li>
148                             <li class="sort1">
149                                 <label for="sort1_record_[% biblio.import_record_id %]">Statistic 1: </label>
150                                 <input id="sort1_record_[% biblio.import_record_id %]" type="text" id="sort1" size="20" name="sort1" value="[% biblio.sort1 %]" />
151                             </li>
152                             <li class="sort2">
153                                 <label for="sort2_record_[% biblio.import_record_id %]">Statistic 2: </label>
154                                 <input id="sort2_record_[% biblio.import_record_id %]" type="text" id="sort2" size="20" name="sort2" value="[% biblio.sort2 %]" />
155                             </li>
156                           </ol>
157                         </div>
158                         <div style="float:right">
159                         [% IF biblio.item_error %]Item records could not be processed because the number of item fields was uneven.[% END %]
160                         [% FOREACH item IN biblio.iteminfos %]
161                         <fieldset>
162                         <legend>Item Record [% item.item_id %]</legend>
163                         <ol>
164                         <li>
165                         <label for="homebranch_item_[% item.item_id %]">homebranch</label><select id="homebranch_item_[% item.item_id %]" name="homebranch_[% item.biblio_count %]">
166                         [% FOREACH l IN libraries %]
167                           [% IF l.branchcode == item.homebranch %]
168                             <option value="[% l.branchcode %]" selected="selected">[% l.branchname %]</option>
169                           [% ELSE %]
170                             <option value="[% l.branchcode %]">[% l.branchname %]</option>
171                           [% END %]
172                         [% END %]
173                         </select>
174                         </li>
175
176                         <li><label for="holdingbranch_item_[% item.item_id %]">holdingbranch</label><select id="holdingbranch_item_[% item.item_id %]" name="holdingbranch_[% item.biblio_count %]">
177                         [% FOREACH l IN libraries %]
178                           [% IF l.branchcode == item.holdingbranch %]
179                             <option value="[% l.branchcode %]" selected="selected">[% l.branchname %]</option>
180                           [% ELSE %]
181                             <option value="[% l.branchcode %]">[% l.branchname %]</option>
182                           [% END %]
183                         [% END %]
184                         </select>
185                         </li>
186                         <li><label for="itype_item_[% item.item_id %]">itype</label><select id="itype_item_[% item.item_id %]" name="itype_[% item.biblio_count %]">
187                         [% FOREACH itypeloo IN itypeloop %]
188                           [% IF ( itypeloo.itemtype ) == ( item.itype ) %]
189                             <option value="[% itypeloo.itemtype %]" selected="selected">[% itypeloo.description |html %]</option>
190                           [% ELSE %]
191                             <option value="[% itypeloo.itemtype %]">[% itypeloo.description |html %]</option>
192                           [% END %]
193                         [% END %]
194                         </select>
195                         </li>
196
197                         <li><label for="nonpublic_note_item_[% item.item_id %]">nonpublic_note</label><input type="text" id="nonpublic_note_item_[% item.item_id %]" name="nonpublic_note_[% item.biblio_count %]" value="[% item.nonpublic_note %]"></li>
198                         <li><label for="public_note_item_[% item.item_id %]">public_note</label><input type="text" id="public_note_item_[% item.item_id %]" name="public_note_[% item.biblio_count %]" value="[% item.public_note %]"></li>
199                         <li><label for="loc_item_[% item.item_id %]">loc</label><select id="loc_item_[% item.item_id %]" name="loc_[% item.biblio_count %]">
200                         <option value=""> </option>
201                         [% FOREACH locationloo IN locationloop %]
202                             [% IF ( locationloo.code ) == (item.loc) %]<option value="[% locationloo.code %]" selected="selected">[% locationloo.description %]</option>[% ELSE %]<option value="[% locationloo.code %]">[% locationloo.description %]</option>[% END %]
203                         [% END %]
204                        </select>
205                         </li>
206
207                         <li><label for="ccode_item_[% item.item_id %]">ccode</label><select id="ccode_item_[% item.item_id %]" name="ccode_[% item.biblio_count %]">
208                         [% FOREACH ccodeloo IN ccodeloop %]
209                             [% IF ( ccodeloo.code ) == (item.ccode) %]<option value="[% ccodeloo.code %]" selected="selected">[% ccodeloo.description %]</option>[% ELSE %]<option value="[% ccodeloo.code %]">[% ccodeloo.description %]</option>[% END %]
210                         [% END %]
211                         </select>
212                         </li>
213
214                         <li><label for="notforloan_item_[% item.item_id %]">notforloan</label><select id="notforloan_item_[% item.item_id %]" name="notforloan_[% item.biblio_count %]">
215                         [% FOREACH n IN notforloanloop %]
216                             [% IF n.code == item.notforloan %]
217                                 <option value="[% n.code %]" selected="selected">[% n.description %]</option>
218                             [% ELSE %]
219                                 <option value="[% n.code %]">[% n.description %]</option>
220                             [% END %]
221                         [% END %]
222                         </select>
223                         </li>
224                         <li><label for="uri_item_[% item.item_id %]">uri</label><input type="text" id="uri_item_[% item.item_id %]" name="uri_[% item.biblio_count %]" value="[% item.uri %]"></li>
225                         <li><label for="copyno_item_[% item.item_id %]">copyno</label><input type="text" id="copyno_item_[% item.item_id %]" name="copyno_[% item.biblio_count %]" value="[% item.copyno %]"></li>
226                         <li><label for="budget_code_item_[% item.item_id %]">budget_code</label><select id="budget_code_item_[% item.item_id %]" name="budget_code_[% item.biblio_count %]">
227                         <option value="">Select a fund</option>
228                         [% FOREACH budget_loo IN budget_loop %]
229                             [% IF ( budget_loo.b_code ) == ( item.budget_code ) %]<option value="[% budget_loo.b_id %]" selected="selected">[% budget_loo.b_txt %]</option>
230                             [% ELSE %]<option value="[% budget_loo.b_id %]">[% budget_loo.b_txt %]</option>
231                             [% END %]
232                         [% END %]
233                         </select>
234                         </li>
235                         <li><label for="price_item_[% item.item_id %]">price</label><input type="text" id="price_item_[% item.item_id %]" name="itemprice_[% item.biblio_count %]" value="[% item.itemprice %]"></li>
236                         <li><label for="replacementprice_item_[% item.item_id %]">replacement price</label><input type="text" id="replacementprice_item_[% item.item_id %]" name="replacementprice_[% item.biblio_count %]" value="[% item.replacementprice %]"></li>
237                         <li><label for="callnumber_item_[% item.item_id %]">callnumber</label><input type="text" id="callnumber_item_[% item.item_id %]" name="itemcallnumber_[% item.biblio_count %]" value="[% item.itemcallnumber %]"></li>
238                         </ol>
239                         </fieldset>
240                         [% END %]
241                         </div>
242                         </fieldset>
243                             <div id="dataPreview" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="dataPreviewLabel" aria-hidden="true">
244                                 <div class="modal-dialog">
245                                 <div class="modal-content">
246                                 <div class="modal-header">
247                                     <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
248                                     <h3 id="dataPreviewLabel">MARC preview</h3>
249                                 </div>
250                                 <div class="modal-body">
251                                     <div id="loading"> <img src="[% interface %]/[% theme %]/img/spinner-small.gif" alt="" /> Loading </div>
252                                 </div>
253                                 <div class="modal-footer">
254                                     <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
255                                 </div>
256                                 </div>
257                                 </div>
258                             </div>
259                         [% END %]
260                       </div>
261                       <div id="items_info">
262                         <h2>Item information</h2>
263                         <p>Import all the checked items in the basket with the following parameters:</p>
264
265                         [% IF ( items ) %]
266                         <fieldset class="rows" style="float:none;">
267                             <legend>Item</legend>
268                             [% IF ( NoACQframework ) %]
269                                 <div class="dialog message">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</div>
270                             [% END %]
271                             [% FOREACH item IN items %]
272                             <div id="outeritemblock">
273                             <div id="itemblock">
274                                 <ol>
275                                 [% FOREACH iteminformatio IN item.iteminformation %]<li style="[% iteminformatio.hidden %];">
276                                     <div class="subfield_line" id="subfield[% iteminformatio.serialid %][% iteminformatio.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
277                                         [% IF (iteminformatio.mandatory) %]
278                                             <label class="required">[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
279                                         [% ELSE %]
280                                             <label>[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
281                                         [% END %]
282
283                                         [% IF ( iteminformatio.marc_value.type == 'select' ) %]
284                                             <select name="field_value" size="1">
285                                             [% FOREACH value IN iteminformatio.marc_value.values %]
286                                                 [% IF ( value == iteminformatio.marc_value.default ) %]
287                                                     <option value="[% value %]" selected="selected">[% iteminformatio.marc_value.labels.$value %]</option>
288                                                 [% ELSE %]
289                                                     <option value="[% value %]">[% iteminformatio.marc_value.labels.$value %]</option>
290                                                 [% END %]
291                                             [% END %]
292                                             </select>
293                                         [% ELSE %]
294                                         [% iteminformatio.marc_value %]
295                                         [% END %]
296                                         <input type="hidden" name="itemid" value="1" />
297                                         <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
298                                         <input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
299                                         <input type="hidden" name="subfield" value="[% iteminformatio.subfield %]" />
300                                         <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
301                                         [% IF ( iteminformatio.mandatory ) %] <span class="required">Required</span>[% END %]
302                                     </div></li>
303                                 [% END %]
304                                 </ol>
305                             </div><!-- /iteminformation -->
306                             </div>
307                             [% END %] <!-- /items -->
308                         </fieldset>
309                         [% END %] <!-- items -->
310                       </div>
311                       <div id="accounting_details">
312                         <p>Import all the checked items in the basket with the following accounting details (used only if no information is filled for the item):</p>
313                         <fieldset class="rows" style="float:none;">
314                             <legend>Accounting details</legend>
315                             <ol>
316                                 <li>
317                                     <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, usefull when receiveing an order -->
318                                     <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
319                                 </li>
320                                 <li>
321                                     [% IF ( close ) %]
322                                         <span class="label">Fund: </span>
323                                         <input type="hidden" size="20" name="budget_id" id="budget_id" value="[% budget_id %]" />[% Budget_name %]
324                                     [% ELSE %]
325                                         <li>
326                                             <label for="all_currency">Currency:</label>
327                                             <select name="all_currency" id="all_currency">
328                                             [% FOREACH currency IN currencies %]
329                                                 [% IF currency.currency == bookseller.listprice %]
330                                                     <option value="[% currency.currency %]" selected="selected">[% currency.currency %]</option>
331                                                 [% ELSIF not currency.archived %]
332                                                     <option value="[% currency.currency %]">[% currency.currency %]</option>
333                                                 [% END %]
334                                             [% END %]
335                                             </select>
336                                         </li>
337                                         <li>
338                                             <label for="all_budget_id">Fund: </label>
339                                             <select id="all_budget_id" size="1" name="all_budget_id">
340                                               <option value="">Select a fund</option>
341                                             [% FOREACH budget_loo IN budget_loop %]
342                                                 [% IF ( budget_loo.b_active ) %]<option value="[% budget_loo.b_id %]" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">[% budget_loo.b_txt %]</option>
343                                                 [% ELSE %]<option value="[% budget_loo.b_id %]" class="b_inactive" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">[% budget_loo.b_txt %] (inactive)</option>
344                                                 [% END %]
345                                             [% END %]
346                                             </select>
347                                             <label for="all_showallbudgets" style="float:none;width:auto;">&nbsp;Show inactive:</label>
348                                             <input type="checkbox" id="all_showallbudgets" />
349                                         </li>
350                                     [% END %]
351                                 </li>
352                                 <li>
353                                     <label for="all_order_internalnote">Internal note: </label>
354                                     <textarea id="all_order_internalnote" cols="30" rows="3" name="all_order_internalnote"></textarea>
355                                 </li>
356                                 <li>
357                                     <label for="all_order_vendornote">Vendor note: </label>
358                                     <textarea id="all_order_vendornote" cols="30" rows="3" name="all_order_vendornote"></textarea>
359                                 </li>
360                                 <li>
361                                     <div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div>
362                                     <label for="all_sort1">Statistic 1: </label>
363                                     <input type="text" id="all_sort1" size="20" name="all_sort1" value="" />
364                                 </li>
365                                 <li>
366                                     <label for="all_sort2">Statistic 2: </label>
367                                     <input type="text" id="all_sort2" size="20" name="all_sort2" value="" />
368                                 </li>
369                             </ol>
370                         </fieldset>
371                       </div>
372                       </div>
373
374                       <fieldset class="action">
375                           <input type="submit" value="Save" /><a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Cancel</a>
376                       </fieldset>
377                     </form>
378                 [% ELSE %]
379                 <div>
380                   <h1>Choose the file to add to the basket</h1>
381                   <table id="files">
382                     <thead>
383                       <tr>
384                         <th>File name</th>
385                         <th>Comments</th>
386                         <th>Status</th>
387                         <th class="title-string">Staged</th>
388                         <th># Bibs</th>
389                         <th class="NoSort">&nbsp;</th>
390                       </tr>
391                     </thead>
392                     <tbody>
393                       [% FOREACH batch_lis IN batch_list %]
394                       <tr>
395                         <td>[% batch_lis.file_name %]</td>
396                         <td>[% batch_lis.comments %]</td>
397                         <td>
398                           [% IF ( batch_lis.import_status == 'cleaned' ) %]
399                             Cleaned
400                           [% ELSIF ( batch_lis.import_status == 'imported' ) %]
401                             Imported
402                           [% ELSIF ( batch_lis.import_status == 'importing' ) %]
403                             Importing
404                           [% ELSIF ( batch_lis.import_status == 'reverted' ) %]
405                             Reverted
406                           [% ELSIF ( batch_lis.import_status == 'reverting' ) %]
407                             Reverting
408                           [% ELSIF ( batch_lis.import_status == 'staged' ) %]
409                             Staged
410                           [% ELSE %]
411                             [% batch_lis.import_status %]
412                           [% END %]
413                         </td>
414                         <td><span title="[% batch_lis.staged_date %]">[% batch_lis.staged_date | $KohaDates with_hours => 1 %]</span></td>
415                         <td>[% batch_lis.num_records %]</td>
416                         <td><a href="[% batch_lis.scriptname %]?import_batch_id=[% batch_lis.import_batch_id %]&amp;basketno=[% basketno %]&amp;booksellerid=[% booksellerid %]">Add orders</a></td>
417                       </tr>
418                       [% END %]
419                     </tbody>
420                   </table>
421                 </div>
422                 [% END %]
423            </div>
424        </div>
425    </div>
426 </div>
427
428 [% MACRO jsinclude BLOCK %]
429     [% Asset.js("js/acquisitions-menu.js") %]
430 [% INCLUDE 'datatables.inc' %]
431     [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") %]
432     [% Asset.js("js/acq.js") %]
433     <script type="text/JavaScript">
434         $(document).ready(function() {
435             $("#files").dataTable($.extend(true, {}, dataTablesDefaults, {
436                 "aoColumnDefs": [
437                     { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
438                     { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
439                     { "sType": "title-string", "aTargets" : [ "title-string" ] }
440                 ],
441                 "sPaginationType": "four_button",
442                 "aaSorting": []
443             } ) );
444
445             // keep copy of the inactive budgets
446             disabledBudgetsCopy = $("select[name='all_budget_id']").html();
447             $("select[name='all_budget_id'] .b_inactive").remove();
448             $("select[name='budget_id'] .b_inactive").remove();
449
450             $("#showallbudgets").click(function() {
451                 if ($(this).is(":checked")) {
452                     $("select[name='budget_id']").html(disabledBudgetsCopy)
453                 }
454                 else {
455                     $("select[name='budget_id'] .b_inactive").remove();
456                 }
457             });
458
459             $("#all_showallbudgets").click(function() {
460                 if ($(this).is(":checked")) {
461                     $("select[name='all_budget_id']").html(disabledBudgetsCopy);
462                 }
463                 else {
464                     $("select[name='all_budget_id'] .b_inactive").remove();
465                 }
466             });
467
468             $("select[name='budget_id']").change(function(){
469                 var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
470                 var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
471                 var destination_sort1 = $(this).parents('fieldset').find('li.sort1').find('input[name="sort1"]');
472                 var sort1 = $(destination_sort1).val() || "";
473                 if ( destination_sort1.length < 1 ) {
474                     destination_sort1 = $(this).parents('fieldset').find('li.sort1 > select[name="sort1"]');
475                 }
476                 var destination_sort2 = $(this).parents('fieldset').find('li.sort2').find('input[name="sort2"]');
477                 var sort2 = $(destination_sort2).val() || "";
478                 if ( destination_sort2.length < 1 ) {
479                     destination_sort2 = $(this).parents('fieldset').find('li.sort2').find('select[name="sort2"]');
480                 }
481                 getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1, sort1 );
482
483                 getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2, sort2 );
484             } );
485
486             $("select[name='budget_id']").change();
487
488             $("select[name='all_budget_id']").change(function(){
489                 var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
490                 var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
491                 var destination_sort1 = $(this).parent().siblings('li').find('input[name="all_sort1"]');
492                 if ( destination_sort1.length < 1 ) {
493                     destination_sort1 = $(this).parent().siblings('li').find('select[name="all_sort1"]');
494                 }
495                 var destination_sort2 = $(this).parent().siblings('li').find('input[name="all_sort2"]');
496                 if ( destination_sort2.length < 1 ) {
497                     destination_sort2 = $(this).parent().siblings('li').find('select[name="all_sort2"]');
498                 }
499                 getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1 );
500                 getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2 );
501                 $(this).parent().siblings('li').find('select[name="sort1"]').attr('name', 'all_sort1');
502                 $(this).parent().siblings('li').find('input[name="sort1"]').attr('name', 'all_sort1');
503                 $(this).parent().siblings('li').find('select[name="sort2"]').attr('name', 'all_sort2');
504                 $(this).parent().siblings('li').find('input[name="sort2"]').attr('name', 'all_sort2');
505             } );
506
507             $("select[name='all_budget_id']").change();
508
509             $("#records_to_import fieldset.rows div").hide();
510             $('input:checkbox[name="import_record_id"]').change(function(){
511                 var container = $(this).parents("fieldset");
512                 if ( $(this).is(':checked') ) {
513                     $(container).addClass("selected");
514                     $(container).removeClass("unselected");
515                     $(container).find("div").toggle(true);
516                 } else {
517                     $(container).addClass("unselected");
518                     $(container).removeClass("selected");
519                     $(container).find("div").toggle(false);
520                 }
521             } );
522
523             $("input:checkbox").prop("checked", false);
524             $("div.biblio.unselected select").prop('disabled', false);
525             $("div.biblio.unselected input").prop('disabled', false);
526
527             $("#checkAll").click(function(){
528                 $("#Aform").checkCheckboxes();
529                 $("input:checkbox[name='import_record_id']").change();
530                 return false;
531             });
532             $("#unCheckAll").click(function(){
533                 $("#Aform").unCheckCheckboxes();
534                 $("input:checkbox[name='import_record_id']").change();
535                 return false;
536             });
537
538             $("#Aform").on("submit", function(){
539                 if ( $("input:checkbox[name='import_record_id']:checked").length < 1 ) {
540                     alert(_("There is no record selected"));
541                     return false;
542                 }
543
544                 var error = 0;
545                 $("input:checkbox[name='import_record_id']:checked").parents('fieldset').find('input[name="quantity"]').each(function(){
546                     if ( $(this).val().length < 1 || isNaN( $(this).val() ) ) {
547                         error++;
548                     }
549                 });
550                 if ( error > 0 ) {
551                     alert(error + " " + _("quantity values are not filled in or are not numbers"));
552                     return false;
553
554                 }
555
556                 return disableUnchecked($(this));
557             });
558             $('#tabs').tabs();
559             $(".previewData").on("click", function(e){
560                 e.preventDefault();
561                 var ltitle = $(this).text();
562                 var page = $(this).attr("href");
563                 $("#dataPreviewLabel").text(ltitle);
564                 $("#dataPreview .modal-body").load(page + " div");
565                 $('#dataPreview').modal({show:true});
566             });
567             $("#dataPreview").on("hidden", function(){
568                 $("#dataPreviewLabel").html("");
569                 $("#dataPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
570             });
571         });
572
573         function disableUnchecked(form){
574             $("fieldset.biblio.unselected").each(function(){
575                 $(this).remove();
576             });
577             return 1;
578         }
579     </script>
580 [% END %]
581
582 [% INCLUDE 'intranet-bottom.inc' %]