Bug 16241 - Move staff client CSS out of language directory
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / acqui / addorderiso2709.tt
1 [% USE KohaDates %]
2 [% INCLUDE 'doc-head-open.inc' %]
3 <title>Koha &rsaquo; Acquisitions &rsaquo; Order staged MARC records
4 [% IF ( batch_details ) %]
5  &rsaquo; Batch [% import_batch_id %]
6 [% ELSE %]
7  &rsaquo; Batch list
8 [% END %]
9 </title>
10 <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
11 <style type="text/css">#dataPreview { width : 80%; margin-left : -40%; } @media (max-width: 767px) { #dataPreview { margin: 0; width : auto; } }</style>
12 [% INCLUDE 'doc-head-close.inc' %]
13 [% INCLUDE 'datatables.inc' %]
14 <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
15 <script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
16 <script type="text/JavaScript">
17 //<![CDATA[
18     $(document).ready(function() {
19         $("#files").dataTable($.extend(true, {}, dataTablesDefaults, {
20             "aoColumnDefs": [
21                 { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
22                 { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
23                 { "sType": "title-string", "aTargets" : [ "title-string" ] }
24             ],
25             "sPaginationType": "four_button",
26             "aaSorting": []
27         } ) );
28
29         // keep copy of the inactive budgets
30         disabledBudgetsCopy = $("select[name='all_budget_id']").html();
31         $("select[name='all_budget_id'] .b_inactive").remove();
32         $("select[name='budget_id'] .b_inactive").remove();
33
34         $("#showallbudgets").click(function() {
35             if ($(this).is(":checked")) {
36                 $("select[name='budget_id']").html(disabledBudgetsCopy)
37             }
38             else {
39                 $("select[name='budget_id'] .b_inactive").remove();
40             }
41         });
42
43         $("#all_showallbudgets").click(function() {
44             if ($(this).is(":checked")) {
45                 $("select[name='all_budget_id']").html(disabledBudgetsCopy);
46             }
47             else {
48                 $("select[name='all_budget_id'] .b_inactive").remove();
49             }
50         });
51
52         $("select[name='budget_id']").change(function(){
53             var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
54             var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
55             var destination_sort1 = $(this).parents('fieldset').find('li.sort1').find('input[name="sort1"]');
56             var sort1 = $(destination_sort1).val() || "";
57             if ( destination_sort1.length < 1 ) {
58                 destination_sort1 = $(this).parents('fieldset').find('li.sort1 > select[name="sort1"]');
59             }
60             var destination_sort2 = $(this).parents('fieldset').find('li.sort2').find('input[name="sort2"]');
61             var sort2 = $(destination_sort2).val() || "";
62             if ( destination_sort2.length < 1 ) {
63                 destination_sort2 = $(this).parents('fieldset').find('li.sort2').find('select[name="sort2"]');
64             }
65             getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1, sort1 );
66
67             getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2, sort2 );
68         } );
69
70         $("select[name='budget_id']").change();
71
72         $("select[name='all_budget_id']").change(function(){
73             var sort1_authcat = $(this).find("option:selected").attr('data-sort1-authcat');
74             var sort2_authcat = $(this).find("option:selected").attr('data-sort2-authcat');
75             var destination_sort1 = $(this).parent().siblings('li').find('input[name="all_sort1"]');
76             if ( destination_sort1.length < 1 ) {
77                 destination_sort1 = $(this).parent().siblings('li').find('select[name="all_sort1"]');
78             }
79             var destination_sort2 = $(this).parent().siblings('li').find('input[name="all_sort2"]');
80             if ( destination_sort2.length < 1 ) {
81                 destination_sort2 = $(this).parent().siblings('li').find('select[name="all_sort2"]');
82             }
83             getAuthValueDropbox( 'sort1', sort1_authcat, destination_sort1 );
84             getAuthValueDropbox( 'sort2', sort2_authcat, destination_sort2 );
85             $(this).parent().siblings('li').find('select[name="sort1"]').attr('name', 'all_sort1');
86             $(this).parent().siblings('li').find('input[name="sort1"]').attr('name', 'all_sort1');
87             $(this).parent().siblings('li').find('select[name="sort2"]').attr('name', 'all_sort2');
88             $(this).parent().siblings('li').find('input[name="sort2"]').attr('name', 'all_sort2');
89         } );
90
91         $("select[name='all_budget_id']").change();
92
93         $("#records_to_import fieldset.rows ol").hide();
94         $('input:checkbox[name="import_record_id"]').change(function(){
95             var container = $(this).parents("fieldset");
96             if ( $(this).is(':checked') ) {
97                 $(container).addClass("selected");
98                 $(container).removeClass("unselected");
99                 $(container).find("ol").toggle(true);
100             } else {
101                 $(container).addClass("unselected");
102                 $(container).removeClass("selected");
103                 $(container).find("ol").toggle(false);
104             }
105         } );
106
107         $("input:checkbox").attr("checked", false);
108         $("div.biblio.unselected select").attr("disabled", false);
109         $("div.biblio.unselected input").attr("disabled", false);
110
111         $("#checkAll").click(function(){
112             $("#Aform").checkCheckboxes();
113             $("input:checkbox[name='import_record_id']").change();
114             return false;
115         });
116         $("#unCheckAll").click(function(){
117             $("#Aform").unCheckCheckboxes();
118             $("input:checkbox[name='import_record_id']").change();
119             return false;
120         });
121
122         $("#Aform").on("submit", function(){
123             if ( $("input:checkbox[name='import_record_id']:checked").length < 1 ) {
124                 alert(_("There is no record selected"));
125                 return false;
126             }
127
128             var error = 0;
129             $("input:checkbox[name='import_record_id']:checked").parents('fieldset').find('input[name="quantity"]').each(function(){
130                 if ( $(this).val().length < 1 || isNaN( $(this).val() ) ) {
131                     error++;
132                 }
133             });
134             if ( error > 0 ) {
135                 alert(error + " " + _("quantity values are not filled in or are not numbers"));
136                 return false;
137             }
138
139             return disableUnchecked($(this));
140         });
141         $('#tabs').tabs();
142         $(".previewData").on("click", function(e){
143             e.preventDefault();
144             var ltitle = $(this).text();
145             var page = $(this).attr("href");
146             $("#dataPreviewLabel").text(ltitle);
147             $("#dataPreview .modal-body").load(page + " div");
148             $('#dataPreview').modal({show:true});
149         });
150         $("#dataPreview").on("hidden", function(){
151             $("#dataPreviewLabel").html("");
152             $("#dataPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/loading-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
153         });
154     });
155
156     function disableUnchecked(form){
157         $("fieldset.biblio.unselected").each(function(){
158             $(this).remove();
159         });
160         return 1;
161     }
162 //]]>
163 </script>
164 </head>
165 <body id="acq_addorderiso2709" class="acq">
166 [% INCLUDE 'header.inc' %]
167 [% INCLUDE 'acquisitions-search.inc' %]
168 <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>
169 <div id="doc3" class="yui-t2">
170    <div id="bd">
171        <div id="yui-main">
172            <div class="yui-b">
173              [% IF ( allmatch ) %]<div class="dialog alert">
174               <h4>No records imported</h4>
175              No record have been imported because they all match an existing record in your catalog.<br />You'll have to treat them individually.
176              </div>
177              [% END %]
178
179              [% IF ( batch_details ) %]
180                 <h1>Add orders from [% comments %]
181                     ([% file_name %] staged on [% upload_timestamp | $KohaDates with_hours => 1 %])
182                 </h1>
183                 <form action="/cgi-bin/koha/acqui/addorderiso2709.pl" method="post" id="Aform">
184                 <div id="tabs" class="toptabs">
185                   <ul>
186                     <li><a href="#records_to_import">Select to import</a></li>
187                     <li><a href="#items_info" class="items_info">Item information</a></li>
188                     <li><a href="#accounting_details">Default accounting details</a></li>
189                   </ul>
190
191                   <div id="records_to_import">
192                     <span class="checkall"><a id="checkAll" href="#">Check all</a></span>
193                     <span class="uncheckall"><a id="unCheckAll" href="#">Uncheck all</a></span>
194                     <label for="showallbudgets" style="float:none;width:auto;">&nbsp;Show inactive funds:</label>
195                     <input type="checkbox" id="showallbudgets" />
196                         <input type="hidden" name="op" value="import_records"/>
197                         <input type="hidden" name="basketno" value="[% basketno %]" />
198                         <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
199                         <input type="hidden" name="import_batch_id" value="[%import_batch_id %]" />
200                         <input type="hidden" name="ordernumber" value="[% ordernumber %]" />
201
202                         [% FOREACH biblio IN biblio_list %]
203                         <fieldset class="biblio unselected rows" style="float:none;">
204                           <legend>
205                             <label for="record_[% biblio.import_record_id %]" style="width:auto;">
206                               <input type="checkbox" name="import_record_id" id="record_[% biblio.import_record_id %]" value="[% biblio.import_record_id %]" />
207                               <span class="citation">[% biblio.citation %]</span>
208                             </label>
209                             <span class="links" style="font-weight: normal;">
210                               ( <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> )
211                             </span>
212                           </legend>
213                           <ol>
214                             <li class="status">
215                               <span class="match">
216                                 [% IF ( biblio_lis.overlay_status == 'no_match' ) %]
217                                     No match
218                                 [% ELSIF ( biblio_lis.overlay_status == 'match_applied' ) %]
219                                     Match applied
220                                 [% ELSIF ( biblio_lis.overlay_status == 'auto_match' ) %]
221                                     Match found
222                                 [% ELSE %]
223                                     [% biblio_lis.overlay_status %]
224                                 [% END %]
225                                 [% IF ( biblio.match_biblionumber ) %]
226                                   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>
227                                 [% END %]
228                               </span>
229                             </li>
230                             <li class="quantity">
231                                 <label for="quantity_record_[% biblio.import_record_id %]" class="required">Quantity: </label>
232                                 <input id="quantity_record_[% biblio.import_record_id %]" type="text" value="[% biblio.quantity.length ? biblio.quantity : 1 %]" name="quantity" />
233                             </li>
234                             <li class="price">
235                                 <label for="price_record_[% biblio.import_record_id %]">Price: </label>
236                                 <input id="price_record_[% biblio.import_record_id %]" type="text" value="[% biblio.price %]" name="price" />
237                             </li>
238                             <li class="discount">
239                                 <label for="discount_record_[% biblio.import_record_id %]">Discount: </label>
240                                 <input id="discount_record_[% biblio.import_record_id %]" type="text" value="[% biblio.discount %]" name="discount" size="6" /> %
241                                 (If empty, discount rate from vendor will be used)
242                             </li>
243                             <li class="budget">
244                                 <label for="fund_record_[% biblio.import_record_id %]">Fund: </label>
245                                 [% IF ( close ) %]
246                                   <input type="hidden" size="20" name="budget_id" value="[% budget_id %]" />[% Budget_name %]
247                                 [% ELSE %]
248                                   <select id="fund_record_[% biblio.import_record_id %]" size="1" name="budget_id">
249                                     <option value="">Select a fund</option>
250                                     [% FOREACH budget IN budget_loop %]
251                                         [% IF ( budget.b_id == biblio.budget_id ) %]
252                                           [% IF budget.b_active %]
253                                             <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>
254                                           [% ELSE %]
255                                             <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>
256                                           [% END %]
257                                         [% ELSE %]
258                                             [% 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>
259                                             [% 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>
260                                             [% END %]
261                                         [% END %]
262                                     [% END %]
263                                   </select>
264                                 [% END %]
265                             </li>
266                             <li class="sort1">
267                                 <label for="sort1_record_[% biblio.import_record_id %]">Statistic 1: </label>
268                                 <input id="sort1_record_[% biblio.import_record_id %]" type="text" id="sort1" size="20" name="sort1" value="[% biblio.sort1 %]" />
269                             </li>
270                             <li class="sort2">
271                                 <label for="sort2_record_[% biblio.import_record_id %]">Statistic 2: </label>
272                                 <input id="sort2_record_[% biblio.import_record_id %]" type="text" id="sort2" size="20" name="sort2" value="[% biblio.sort2 %]" />
273                             </li>
274                           </ol>
275                         </fieldset>
276                             <div id="dataPreview" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="dataPreviewLabel" aria-hidden="true">
277                                 <div class="modal-header">
278                                     <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
279                                     <h3 id="dataPreviewLabel">MARC preview</h3>
280                                 </div>
281                                 <div class="modal-body">
282                                     <div id="loading"> <img src="[% interface %]/[% theme %]/img/loading-small.gif" alt="" /> Loading </div>
283                                 </div>
284                                 <div class="modal-footer">
285                                     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
286                                 </div>
287                             </div>
288                         [% END %]
289                       </div>
290                       <div id="items_info">
291                         <h2>Item information</h2>
292                         <p>Import all the checked items in the basket with the following parameters:</p>
293
294                         [% IF ( items ) %]
295                         <fieldset class="rows" style="float:none;">
296                             <legend>Item</legend>
297                             [% IF ( NoACQframework ) %]
298                                 <div class="dialog message">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</div>
299                             [% END %]
300                             [% FOREACH item IN items %]
301                             <div id="outeritemblock">
302                             <div id="itemblock">
303                                 <ol>
304                                 [% FOREACH iteminformatio IN item.iteminformation %]<li style="[% iteminformatio.hidden %];">
305                                     <div class="subfield_line" id="subfield[% iteminformatio.serialid %][% iteminformatio.countitems %][% iteminformatio.subfield %][% iteminformatio.random %]">
306                                         [% IF (iteminformatio.mandatory) %]
307                                             <label class="required">[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
308                                         [% ELSE %]
309                                             <label>[% iteminformatio.subfield %] - [% iteminformatio.marc_lib %]</label>
310                                         [% END %]
311
312                                         [% IF ( iteminformatio.marc_value.type == 'select' ) %]
313                                             <select name="field_value" size="1">
314                                             [% FOREACH value IN iteminformatio.marc_value.values %]
315                                                 [% IF ( value == iteminformatio.marc_value.default ) %]
316                                                     <option value="[% value %]" selected="selected">[% iteminformatio.marc_value.labels.$value %]</option>
317                                                 [% ELSE %]
318                                                     <option value="[% value %]">[% iteminformatio.marc_value.labels.$value %]</option>
319                                                 [% END %]
320                                             [% END %]
321                                             </select>
322                                         [% ELSE %]
323                                         [% iteminformatio.marc_value %]
324                                         [% END %]
325                                         <input type="hidden" name="itemid" value="1" />
326                                         <input type="hidden" name="kohafield" value="[% iteminformatio.kohafield %]" />
327                                         <input type="hidden" name="tag" value="[% iteminformatio.tag %]" />
328                                         <input type="hidden" name="subfield" value="[% iteminformatio.subfield %]" />
329                                         <input type="hidden" name="mandatory" value="[% iteminformatio.mandatory %]" />
330                                         [% IF ( iteminformatio.mandatory ) %] <span class="required">Required</span>[% END %]
331                                     </div></li>
332                                 [% END %]
333                                 </ol>
334                             </div><!-- /iteminformation -->
335                             </div>
336                             [% END %] <!-- /items -->
337                         </fieldset>
338                         [% END %] <!-- items -->
339                       </div>
340                       <div id="accounting_details">
341                         <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>
342                         <fieldset class="rows" style="float:none;">
343                             <legend>Accounting details</legend>
344                             <ol>
345                                 <li>
346                                     <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, usefull when receiveing an order -->
347                                     <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
348                                 </li>
349                                 <li>
350                                     [% IF ( close ) %]
351                                         <span class="label">Fund: </span>
352                                         <input type="hidden" size="20" name="budget_id" id="budget_id" value="[% budget_id %]" />[% Budget_name %]
353                                     [% ELSE %]
354                                         <li>
355                                             <label for="all_currency">Currency:</label>
356                                             <select name="all_currency" id="all_currency">
357                                             [% FOREACH currency IN currencies %]
358                                                 [% IF currency.currency == bookseller.listprice %]
359                                                     <option value="[% currency.currency %]" selected="selected">[% currency.currency %]</option>
360                                                 [% ELSIF not currency.archived %]
361                                                     <option value="[% currency.currency %]">[% currency.currency %]</option>
362                                                 [% END %]
363                                             [% END %]
364                                             </select>
365                                         </li>
366                                         <li>
367                                             <label for="all_budget_id">Fund: </label>
368                                             <select id="all_budget_id" size="1" name="all_budget_id">
369                                               <option value="">Select a fund</option>
370                                             [% FOREACH budget_loo IN budget_loop %]
371                                                 [% 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>
372                                                 [% 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>
373                                                 [% END %]
374                                             [% END %]
375                                             </select>
376                                             <label for="all_showallbudgets" style="float:none;width:auto;">&nbsp;Show inactive:</label>
377                                             <input type="checkbox" id="all_showallbudgets" />
378                                         </li>
379                                     [% END %]
380                                 </li>
381                                 <li>
382                                     <label for="all_order_internalnote">Internal note: </label>
383                                     <textarea id="all_order_internalnote" cols="30" rows="3" name="all_order_internalnote"></textarea>
384                                 </li>
385                                 <li>
386                                     <label for="all_order_vendornote">Vendor note: </label>
387                                     <textarea id="all_order_vendornote" cols="30" rows="3" name="all_order_vendornote"></textarea>
388                                 </li>
389                                 <li>
390                                     <div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div>
391                                     <label for="all_sort1">Statistic 1: </label>
392                                     <input type="text" id="all_sort1" size="20" name="all_sort1" value="" />
393                                 </li>
394                                 <li>
395                                     <label for="all_sort2">Statistic 2: </label>
396                                     <input type="text" id="all_sort2" size="20" name="all_sort2" value="" />
397                                 </li>
398                             </ol>
399                         </fieldset>
400                       </div>
401                       </div>
402
403                       <fieldset class="action">
404                           <input type="submit" value="Save" /><a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Cancel</a>
405                       </fieldset>
406                     </form>
407                 [% ELSE %]
408                 <div>
409                   <h1>Choose the file to add to the basket</h1>
410                   <table id="files">
411                     <thead>
412                       <tr>
413                         <th>File name</th>
414                         <th>Comments</th>
415                         <th>Status</th>
416                         <th class="title-string">Staged</th>
417                         <th># Bibs</th>
418                         <th class="NoSort">&nbsp;</th>
419                       </tr>
420                     </thead>
421                     <tbody>
422                       [% FOREACH batch_lis IN batch_list %]
423                       <tr>
424                         <td>[% batch_lis.file_name %]</td>
425                         <td>[% batch_lis.comments %]</td>
426                         <td>
427                           [% IF ( batch_lis.import_status == 'cleaned' ) %]
428                             Cleaned
429                           [% ELSIF ( batch_lis.import_status == 'imported' ) %]
430                             Imported
431                           [% ELSIF ( batch_lis.import_status == 'importing' ) %]
432                             Importing
433                           [% ELSIF ( batch_lis.import_status == 'reverted' ) %]
434                             Reverted
435                           [% ELSIF ( batch_lis.import_status == 'reverting' ) %]
436                             Reverting
437                           [% ELSIF ( batch_lis.import_status == 'staged' ) %]
438                             Staged
439                           [% ELSE %]
440                             [% batch_lis.import_status %]
441                           [% END %]
442                         </td>
443                         <td><span title="[% batch_lis.staged_date %]">[% batch_lis.staged_date | $KohaDates with_hours => 1 %]</span></td>
444                         <td>[% batch_lis.num_records %]</td>
445                         <td><a href="[% batch_lis.scriptname %]?import_batch_id=[% batch_lis.import_batch_id %]&amp;basketno=[% basketno %]&amp;booksellerid=[% booksellerid %]">Add orders</a></td>
446                       </tr>
447                       [% END %]
448                     </tbody>
449                   </table>
450                 </div>
451                 [% END %]
452            </div>
453        </div>
454    </div>
455 </div>
456 </body>
457 </html>