Bug 7113: Standardize vendor id name in templates and scripts
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / acqui / parcel.tt
1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha &rsaquo; Acquisitions &rsaquo; [% IF ( date ) %]
3             Receipt Summary for [% name %] [% IF ( invoice ) %]Invoice [% invoice %][% END %] on [% formatteddatereceived %][% ELSE %]Receive Orders from [% name %][% END %]</title>
4 [% INCLUDE 'doc-head-close.inc' %]
5 [% INCLUDE 'greybox.inc' %]
6 <script type="text/javascript" src="[% yuipath %]/json/json-min.js"></script>
7 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
8 <script type="text/javascript">
9 //<![CDATA[
10
11     var rowsToCollapse = 5;
12
13         $.tablesorter.addParser({
14             id: 'articles',
15             is: function(s) {return false;  },
16             format: function(s) { return s.toLowerCase().replace(/^(the|an|a) /,''); },
17             type: 'text'
18         });
19
20     $(document).ready(function(){
21     $("#pendingt").tablesorter({
22                 headers: { 2: { sorter: 'articles' },3: { sorter: false },7:{sorter:false}}
23     });
24
25         rowCountPending  = $("#pendingt tbody.filterclass tr").length;
26         rowCountReceived = $("#receivedt tbody.filterclass tr").length;
27         if (rowCountPending  > rowsToCollapse) { pendingCollapse(); }
28         if (rowCountReceived > rowsToCollapse) { receivedCollapse(); }
29     });
30
31      // Case-insensitive version of jquery's contains function
32      jQuery.extend(jQuery.expr[':'], {
33             icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
34      });
35
36      // Contains exactly function
37      jQuery.extend(jQuery.expr[':'], {
38           containsExactly: "$(a).text() == m[3]"
39      });
40
41
42     // Collapse pending items table
43     function pendingCollapse() {
44         $("#pendingcollapserow").remove();
45     $("#pendingt tr").show();
46         $("#pendingt tbody.filterclass tr:gt(" + (rowsToCollapse-1) + ")").hide();
47         $("#pendingt").before("<p id=\"pendingcollapserow\">" + _("Only the first ")  + rowsToCollapse +  _(" items are displayed.") + "<a href=\"javascript:pendingExpand();\">" + _("Click here to show all ")  + rowCountPending + _(" items") + "<\/a>.<\/p>");
48
49     }
50
51     // Expend pending items table
52     function pendingExpand() {
53         $("#pendingcollapserow").remove();
54         $("#pendingt tr").show();
55     $("#pendingt tbody.filterclass tr.orderfound").remove();
56         $("#pendingt").before("<p id=\"pendingcollapserow\">" + rowCountPending + _(" items are displayed.") + "<a href=\"javascript:pendingCollapse();\">" + _("Click here to show only the first ") + rowsToCollapse + _(" items") + "<\/a>.<\/p>");
57     }
58
59     // Collapse already received items table
60     function receivedCollapse() {
61         $("#receivedcollapserow").remove();
62         $("#receivedt tbody.filterclass tr:gt(" + (rowsToCollapse-1) + ")").hide();
63         $("#receivedt").before("<p id=\"receivedcollapserow\">" + _("Only the first ") + rowsToCollapse + _(" items are displayed.") + "<a href=\"javascript:receivedExpand();\">" + _("Click here to show all ") + rowCountReceived + _(" items") + "<\/a>.<\/p>");
64     }
65
66     // Expand already received items table
67     function receivedExpand() {
68         $("#receivedcollapserow").remove();
69         $("#receivedt tr").show();
70         $("#receivedt").before("<p id=\"receivedcollapserow\">" + _("All ") + rowCountReceived + _(" items are displayed.") + "<a href=\"javascript:receivedCollapse();\">" + _("Click here to show only the first ") + rowsToCollapse + _(" items") + "<\/a>.<\/p>");
71     }
72
73     // Launch filtering
74     function filter() {
75
76     var summaryStatus = jQuery.trim($("#summaryfilter").val());
77         var basketStatus  = $("#basketfilter").val();
78         var orderStatus   = $("#orderfilter").val();
79
80         if (summaryStatus == '' && basketStatus == '' && orderStatus == '') { clearFilters(); return false; }
81
82         var filtered = "table#pendingt tbody.filterclass tr";
83
84         // We hide everything
85         $("#nothingfoundrow").remove();
86         $(filtered).hide();
87
88         // Do the search
89         var callback =  {
90                 success: function(o) {
91                         var jsonString = o.responseText;
92                         var gst = "[% gst %]";
93                         try {
94                                 var orders = YAHOO.lang.JSON.parse(jsonString);
95                                 var foundCount = orders.length;
96
97                                 for( i = 0 ; i < orders.length ; i++){
98                                         order = orders[i];
99                                         $('<tr class="orderfound">'
100                        + '<td class="basketfilterclass"><a href="/cgi-bin/koha/acqui/basket.pl?basketno=' + order.basketno + '">' + order.basketno + '</a></td>'
101                        + '<td class="orderfilterclass"> <a href="neworderempty.pl?ordernumber=' + order.ordernumber + '&booksellerid=' + order.booksellerid + '">' + order.ordernumber + ' </a></td>'
102                        + '<td class="summaryfilterclass">'
103                        + '<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=' + order.biblionumber + '">' + order.title + '</a>' + _(" by ") + order.author + '&nbsp;&ndash;&nbsp;' + order.isbn + '</td>'
104                        + '<td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=' + order.biblionumber + '" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=' + order.biblionumber + '" title="MARC" rel="gb_page_center[600,500]">Card</a></td>'
105                        + '<td>' + order.quantity + '</td>'
106                        + '<td>' + order.ecost + '</td>'
107                        + '<td>' + order.ordertotal + '</td>'
108                        + '<td>'
109                        + '<a href="orderreceive.pl?ordernumber=' + order.ordernumber + '&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]&amp;gst=' + gst + '&amp;freight=' + order.freight + '&amp;booksellerid=[% booksellerid %]">Receive</a> /'
110                        + '<a href="parcel.pl?type=intra&amp;ordernumber=' + order.ordernumber + '&amp;biblionumber=' + order.biblionumber + '&amp;action=cancelorder&amp;booksellerid=[% booksellerid %]&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]" onclick="return confirm(\'' + _('Are you sure you want to cancel this order?') + '\');">Cancel</a>'
111                        + '</td></tr>').appendTo("table#pendingt");
112                                 }
113
114                                 // If nothing has been found, we tell the user so
115                                 if (orders.length == 0) {
116                                     $("<tr><td id=\"nothingfoundrow\" colspan=\"8\">No items match your criteria.<\/tr>").appendTo("#pendingt");
117                                 }
118                         }catch(e){alert(e);}
119                 }
120         }
121         var transaction = YAHOO.util.Connect.asyncRequest('GET', '/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% booksellerid %]&search='+summaryStatus+'&basketno='+basketStatus+'&orderno='+orderStatus+'&format=json', callback, null);
122
123         return false;
124     }
125
126     // Clear already applied filters
127     function clearFilters() {
128         $("#nothingfoundrow").remove();
129         $("#pendingt tbody.filterclass tr").show();
130         //$("#pendingt tbody.filterclass tr.orderfound").remove();
131         pendingExpand();
132     }
133
134 //]]>
135 </script>
136 <script type="text/javascript">
137 //<![CDATA[
138             function confirm_delete_item(ordernumber, basketno, biblionumber) {
139                 var is_confirmed = confirm(_('Are you sure you want to delete this order ?'));
140                 if (is_confirmed) {
141                     window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber;
142                 }
143             }
144             
145             function confirm_delete_biblio(ordernumber, biblionumber) {
146                 var is_confirmed = confirm(_('Are you sure you want to delete this catalog record and order ?'));
147                 if (is_confirmed) {
148                     window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&delbiblio=1";
149                     }
150             }
151
152 //]]>
153 </script>
154
155 </head>
156 <body>
157 [% INCLUDE 'header.inc' %]
158 [% INCLUDE 'acquisitions-search.inc' %]
159
160 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo;  [% IF ( datereceived ) %]
161             Receipt Summary for <i>[% name %]</i> [% IF ( invoice ) %]<i>[ [% invoice %] ]</i>[% END %] on <i>[% formatteddatereceived %]</i>
162         [% ELSE %]
163             Receive orders from [% name %]
164         [% END %]</div>
165
166 <div id="doc3" class="yui-t2">
167
168    <div id="bd">
169         <div id="yui-main">
170         <div class="yui-b">
171         [% IF ( receive_error ) %]
172         <div class="dialog alert">
173         <h3>Error adding items:</h3>
174         <ul>
175         [% FOREACH error_loo IN error_loop %]
176                 <li>[% error_loo.error_param %][% IF ( error_loo.error_duplicate_barcode ) %]Duplicate Barcode[% END %] <!-- todo: other error conditions come here. --></li>
177         [% END %]
178         </ul>
179         </div>
180         [% END %]
181     <h1>
182         [% IF ( datereceived ) %]
183             Receipt Summary for <i>[% name %]</i> [% IF ( invoice ) %] <i> [ [% invoice %] ] </i>[% END %] on <i>[% formatteddatereceived %]</i>
184         [% ELSE %]
185             Receive orders from [% name %]
186         [% END %]
187     </h1>
188
189     [% IF ( success_delorder ) %]
190     <div class="dialog message">The order has been successfully canceled.</div>
191     [% ELSE %]
192         [% IF ( error_delitem ) %]
193             <div class="dialog alert">The order has been canceled, although one or more items could not have been deleted.</div>
194         [% END %]
195         [% IF ( error_delbiblio ) %]
196             <div class="dialog alert">The order has been canceled, although the record has not been deleted.</div>
197         [% END %]
198     [% END %]
199
200 <div id="acqui_receive_summary">
201 <p><strong>Invoice number:</strong> [% invoice %] <strong>Received by:</strong> [% loggedinusername %] <strong>On:</strong> [% formatteddatereceived %]</p>
202         <!-- TODO: Add date picker, change rcv date. -->
203 </div>
204 <div id="acqui_receive_search">
205     <h3>Pending Orders</h3>
206
207  [% IF ( loop_orders ) %]<table id="pendingt">
208     <thead>
209         <tr>
210             <th>Basket</th>
211             <th>Order Line</th>
212             <th>Summary</th>
213             <th>View Record</th>
214             <th>Quantity</th>
215             <th>Unit cost</th>
216             <th>Order cost</th>
217             <th>&nbsp;</th>
218             <th>&nbsp;</th>
219         </tr>
220     </thead>
221                 <tfoot>
222             <tr><td colspan="4" class="total">TOTAL</td>
223                 <td> [% totalPquantity %] </td>
224                                 <td>&nbsp;</td>
225                 <td>[% ordergrandtotal %]</td>
226                                 <td>&nbsp;</td>
227                                 <td>&nbsp;</td>
228             </tr>
229                 </tfoot>
230     <tbody class="filterclass">
231         [% FOREACH loop_order IN loop_orders %]
232         [% UNLESS ( loop.odd ) %]
233             <tr class="highlight">
234         [% ELSE %]
235             <tr>
236         [% END %]
237                 <td class="basketfilterclass"><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_order.basketno %]">[% loop_order.basketno %]</a></td>
238                 <td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&amp;booksellerid=[% loop_order.booksellerid %]">[% loop_order.ordernumber %]</a></td>
239                 <td class="summaryfilterclass">
240                   <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber %]">[% loop_order.title |html %]</a>
241                 [% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
242                 [% IF ( loop_order.isbn ) %] &ndash; [% loop_order.isbn %][% END %]
243                 [% IF ( loop_order.publishercode ) %]<br />Publisher :[% loop_order.publishercode %][% END %]
244                 [% IF ( loop_order.suggestionid ) %]
245                     <br/>
246                     Suggested by: [% loop_order.surnamesuggestedby %][% IF ( loop_order.firstnamesuggestedby ) %], [% loop_order.firstnamesuggestedby %] [% END %]
247                     (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_order.suggestionid %]">suggestion #[% loop_order.suggestionid %]</a>)
248                 [% END %]
249                 </td>
250                 <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
251                 <td>[% loop_order.quantity %]</td>
252                 <td>[% loop_order.ecost %]</td>
253                 <td>[% loop_order.ordertotal %]</td>
254                                 <td>
255                                     <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;datereceived=[% loop_order.invoicedatereceived %]&amp;invoice=[% loop_order.invoice %]&amp;gst=[% loop_order.gst %]&amp;freight=[% loop_order.freight %]&amp;booksellerid=[% loop_order.booksellerid %]">Receive</a>
256                                     
257                                 </td>
258                                 <td>
259                                     [% IF ( loop_order.left_holds_on_order ) %]
260                     <span class="button" title="Can't delete order, ([% loop_order.holds_on_order %]) holds are linked with this order cancel holds first">Can't delete order</span><br>
261                     [% ELSE %]
262                     <a href="javascript:confirm_delete_item([% loop_order.ordernumber %],[% loop_order.basketno %],[% loop_order.biblionumber %])" class="button">Delete order</a><br>
263                     [% END %]
264                     [% IF ( loop_order.can_del_bib ) %]
265                     <a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %],[% loop_order.basketno %],[% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
266                     [% ELSE %]
267                     <span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
268                     [% END %]
269                     [% IF ( loop_order.left_item ) %]
270                     <b title="Can't delete catalog record, because of [% loop_order.items %] existing item(s)" >[% loop_order.items %] item(s) left</b><br>
271                     [% END %]
272                     [% IF ( loop_order.left_biblio ) %]
273                     <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios %] order(s) left</b><br>
274                     [% END %]
275                     [% IF ( loop_order.left_subscription ) %]
276                     <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions %] subscription(s) left</b><br>
277                     [% END %]
278                     [% IF ( loop_order.left_holds ) %]
279                     <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds %] hold(s) left</b>
280                     [% END %]
281                                 </td>
282             </tr>
283         [% END %]
284     </tbody>
285      </table>[% ELSE %]There are no pending orders.[% END %]
286    <div id="resultnumber">
287         <!-- Row of numbers corresponding to search result pages -->
288         [% IF ( displayprev ) %]
289                 <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% prevstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">&lt;&lt; Previous</a>
290         [% END %]
291         [% FOREACH number IN numbers %]
292                 [% IF ( number.highlight ) %]
293                 <span class="current">[% number.number %]</span>
294                 [% ELSE %]
295                 <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% number.startfrom %][% IF ( number.datereceived ) %]&amp;datereceived=[% number.datereceived %][% END %][% IF ( number.invoice ) %]&amp;invoice=[% number.invoice %][% END %][% IF ( number.resultsperpage ) %]&amp;resultsperpage=[% number.resultsperpage %][% END %]#resultnumber">[% number.number %]</a>
296                 [% END %]
297         [% END %]
298         [% IF ( displaynext ) %]
299                 <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% nextstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">Next &gt;&gt;</a>
300         [% END %]
301         </div>
302 </div>
303 <div id="acqui_receive_receivelist">
304     <h3>Already Received</h3>
305
306    [% IF ( loop_received ) %]
307    <form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
308     <table id="receivedt">
309         <thead>
310             <tr>
311                 <th>Basket</th>
312                 <th>Order Line</th>
313                 <th>Summary</th>
314                 <th>View Record</th>
315                 <th>Quantity</th>  
316                 <th>Est cost</th>
317                 <th>Actual cost</th>
318                 <th>TOTAL</th>
319             </tr>
320         </thead>
321 <tfoot>
322             <tr>
323                 <td colspan="4" class="total">SUBTOTAL</td>
324                 <td colspan="2">&nbsp;</td>
325                 <td>[% totalprice %]</td>
326                 <td>[% tototal %]</td>
327             </tr>
328               
329               [% IF ( totalfreight ) %]
330                     <tr>
331                         <td colspan="6">&nbsp;
332                 </td>
333                             <td>Shipping</td>
334                 <td>[% totalfreight %]</td>
335                 </tr> 
336             [% END %]
337               [% IF ( gst ) %]
338                     <tr>
339                         <td colspan="6">
340                 <p class="message">
341                             <b>HELP</b><br />
342                     The total at the bottom of the page should be within a few cents of the total for the invoice.
343                 </p>
344                 </td>
345                             <td><b>Tax rate</b></td>
346                 <td>[% gst %]</td>
347                 </tr> 
348             [% END %]
349             <tr>
350             <td colspan="4" class="total">TOTAL</td>
351                 <td>[% totalquantity %]</td>
352                 <td colspan="2">&nbsp;</td>
353                 <td>[% grandtot %]</td>
354             </tr>
355     </tfoot>
356         <tbody class="filterclass">
357             [% FOREACH loop_receive IN loop_received %]
358         [% UNLESS ( loop.odd ) %]
359             <tr class="highlight">
360         [% ELSE %]
361             <tr>
362         [% END %]
363                 <td><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a></td>
364                 <td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&amp;booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
365                 <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
366                 [% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
367                 [% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
368                 [% IF ( loop_receive.publishercode ) %]<br />Publisher :[% loop_receive.publishercode %][% END %]
369                 [% IF ( loop_receive.suggestionid ) %]
370                     <br/>
371                     Suggested by: [% loop_receive.surnamesuggestedby %][% IF ( loop_receive.firstnamesuggestedby ) %], [% loop_receive.firstnamesuggestedby %] [% END %]
372                     (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_receive.suggestionid %]">suggestion #[% loop_receive.suggestionid %]</a>)
373                 [% END %]
374                 </td>
375                 <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
376                 <td>[% loop_receive.quantityreceived %]</td>
377                 <td>[% loop_receive.ecost %]</td>
378                 <td>[% loop_receive.unitprice %]</td>
379                 <td>[% loop_receive.total %]</td>
380             </tr>
381             [% END %]
382         </tbody>
383     </table>
384     </form>
385         [% ELSE %]There are no received orders.[% END %]
386 </div>
387
388 <!--<form action="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% booksellerid %]" method="post">-->
389 <form action="parcels.pl?booksellerid=[% booksellerid %]" method="post">
390     <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
391     <fieldset class="action">
392         <input type="submit" value="Finish receiving" />
393     </fieldset>
394 </form>
395
396 </div>
397 </div>
398 <div class="yui-b">
399 <form action="/cgi-bin/koha/acqui/parcel.pl" id="filterform" onsubmit="return filter();">
400         <fieldset class="brief">
401
402             <h4>Filter</h4>
403
404             <ol>
405
406                 <li>
407                     <label for="summaryfilter">ISBN, author or title :</label>
408                     <input type="text" name="summaryfilter" id="summaryfilter" />
409                 </li>
410
411                 <li>
412                     <label for="basketfilter">Basket :</label>
413                     <input type="text" name="basketfilter" id="basketfilter" />
414                 </li>
415
416                 <li>
417                     <label for="orderfilter">Order Line :</label>
418                     <input type="text" name="orderfilter" id="orderfilter" />
419                 </li>
420             </ol>
421                 <fieldset class="action">
422                     <input type="submit" value="Filter" />
423                     <a href="#" onclick="clearFilters();">Clear</a>
424                 </fieldset>
425
426
427         </fieldset>
428     </form>
429 [% INCLUDE 'acquisitions-menu.inc' %]
430 </div>
431 </div>
432 [% INCLUDE 'intranet-bottom.inc' %]
433