1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha › Acquisitions › [% IF ( date ) %]
3 Receipt summary for [% name %] [% IF ( invoice ) %]invoice [% invoice %][% END %] on [% formatteddatereceived %][% ELSE %]Receive orders from [% name %][% END %]</title>
4 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
5 [% INCLUDE 'doc-head-close.inc' %]
6 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
7 [% INCLUDE 'datatables-strings.inc' %]
8 <script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
9 [% INCLUDE 'greybox.inc' %]
10 <script type="text/javascript" src="[% yuipath %]/json/json-min.js"></script>
11 <script type="text/javascript">
14 dt_overwrite_html_sorting_localeCompare();
16 var rowsToCollapse = 5;
17 $(document).ready(function(){
18 var pendingt = $("#pendingt").dataTable($.extend(true, {}, dataTablesDefaults, {
20 { "aTargets": [ 3, 7, 8 ], "bSortable": false, "bSearchable": false },
23 { "sType": "num-html" },
24 { "sType": "num-html" },
33 "sPaginationType": "four_button"
35 var receivedt = $("#receivedt").dataTable($.extend(true, {}, dataTablesDefaults, {
37 { "aTargets": [ 3 ], "bSortable": false, "bSearchable": false },
40 { "sType": "num-html" },
41 { "sType": "num-html" },
49 "sPaginationType": "four_button"
52 rowCountPending = $("#pendingt tbody.filterclass tr").length;
53 rowCountReceived = $("#receivedt tbody.filterclass tr").length;
54 if (rowCountPending > rowsToCollapse) { pendingCollapse(); }
55 if (rowCountReceived > rowsToCollapse) { receivedCollapse(); }
58 // Case-insensitive version of jquery's contains function
59 jQuery.extend(jQuery.expr[':'], {
60 icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
63 // Contains exactly function
64 jQuery.extend(jQuery.expr[':'], {
65 containsExactly: "$(a).text() == m[3]"
69 // Collapse pending items table
70 function pendingCollapse() {
71 $("#pendingcollapserow").remove();
72 $("#pendingt tr").show();
73 $("#pendingt tbody.filterclass tr:gt(" + (rowsToCollapse-1) + ")").hide();
74 $("#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>");
78 // Expend pending items table
79 function pendingExpand() {
80 $("#pendingcollapserow").remove();
81 $("#pendingt tr").show();
82 $("#pendingt tbody.filterclass tr.orderfound").remove();
83 $("#pendingt").before("<p id=\"pendingcollapserow\">" + rowCountPending + _(" items are displayed.") + "<a href=\"javascript:pendingCollapse();\">" + _("Click here to show only the first ") + rowsToCollapse + _(" items") + "<\/a>.<\/p>");
86 // Collapse already received items table
87 function receivedCollapse() {
88 $("#receivedcollapserow").remove();
89 $("#receivedt tbody.filterclass tr:gt(" + (rowsToCollapse-1) + ")").hide();
90 $("#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>");
93 // Expand already received items table
94 function receivedExpand() {
95 $("#receivedcollapserow").remove();
96 $("#receivedt tr").show();
97 $("#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>");
103 var summaryStatus = jQuery.trim($("#summaryfilter").val());
104 var basketStatus = $("#basketfilter").val();
105 var orderStatus = $("#orderfilter").val();
106 var eanStatus = $("#eanfilter").val() || '';
108 if (summaryStatus == '' && basketStatus == '' && orderStatus == '' && eanStatus == '') { clearFilters(); return false; }
110 var filtered = "table#pendingt tbody.filterclass tr";
112 // We hide everything
113 $("#nothingfoundrow").remove();
118 success: function(o) {
119 var jsonString = o.responseText;
120 var gst = "[% gst %]";
122 var orders = YAHOO.lang.JSON.parse(jsonString);
123 var foundCount = orders.length;
125 for( i = 0 ; i < orders.length ; i++){
127 $('<tr class="orderfound">'
128 + '<td class="basketfilterclass"><a href="/cgi-bin/koha/acqui/basket.pl?basketno=' + order.basketno + '">' + order.basketno + '</a></td>'
129 + '<td class="orderfilterclass"> <a href="neworderempty.pl?ordernumber=' + order.ordernumber + '&booksellerid=' + order.booksellerid + '">' + order.ordernumber + ' </a></td>'
130 + '<td class="summaryfilterclass">'
131 + '<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=' + order.biblionumber + '">' + order.title + '</a>' + _(" by ") + order.author + ' – ' + order.isbn + '</td>'
132 + '<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&id=' + order.biblionumber + '" title="MARC" rel="gb_page_center[600,500]">Card</a></td>'
133 + '<td>' + order.quantity + '</td>'
134 + '<td>' + order.ecost + '</td>'
135 + '<td>' + order.ordertotal + '</td>'
137 + '<a href="orderreceive.pl?ordernumber=' + order.ordernumber + '&datereceived=[% invoicedatereceived %]&invoice=[% invoice %]&gst=' + gst + '&freight=' + order.freight + '&booksellerid=[% booksellerid %]">Receive</a> /'
138 + '<a href="parcel.pl?type=intra&ordernumber=' + order.ordernumber + '&biblionumber=' + order.biblionumber + '&action=cancelorder&booksellerid=[% booksellerid %]&datereceived=[% invoicedatereceived %]&invoice=[% invoice %]" onclick="return confirm(\'' + _('Are you sure you want to cancel this order?') + '\');">Cancel</a>'
139 + '</td></tr>').appendTo("table#pendingt");
142 // If nothing has been found, we tell the user so
143 if (orders.length == 0) {
144 $("<tr><td id=\"nothingfoundrow\" colspan=\"8\">No items match your criteria.<\/tr>").appendTo("#pendingt");
149 var transaction = YAHOO.util.Connect.asyncRequest('GET', '/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% booksellerid %]&search='+summaryStatus+'&basketno='+basketStatus+'&orderno='+orderStatus+'&ean='+eanStatus+'&format=json', callback, null);
154 // Clear already applied filters
155 function clearFilters() {
156 $("#nothingfoundrow").remove();
157 $("#pendingt tbody.filterclass tr").show();
158 //$("#pendingt tbody.filterclass tr.orderfound").remove();
164 <script type="text/javascript">
166 function confirm_delete_item(ordernumber, basketno, biblionumber) {
167 var is_confirmed = confirm(_('Are you sure you want to delete this order ?'));
169 window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber;
173 function confirm_delete_biblio(ordernumber, biblionumber) {
174 var is_confirmed = confirm(_('Are you sure you want to delete this catalog record and order ?'));
176 window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&delbiblio=1";
184 <body id="acq_parcel" class="acq">
185 [% INCLUDE 'header.inc' %]
186 [% INCLUDE 'acquisitions-search.inc' %]
188 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> › [% IF ( datereceived ) %]
189 Receipt summary for <i>[% name %]</i> [% IF ( invoice ) %]<i>[ [% invoice %] ]</i>[% END %] on <i>[% formatteddatereceived %]</i>
191 Receive orders from [% name %]
194 <div id="doc3" class="yui-t2">
199 [% IF ( receive_error ) %]
200 <div class="dialog alert">
201 <h3>Error adding items:</h3>
203 [% FOREACH error_loo IN error_loop %]
204 <li>[% error_loo.error_param %][% IF ( error_loo.error_duplicate_barcode ) %]Duplicate Barcode[% END %] <!-- todo: other error conditions come here. --></li>
210 [% IF ( datereceived ) %]
211 Receipt summary for <i>[% name %]</i> [% IF ( invoice ) %] <i> [ [% invoice %] ] </i>[% END %] on <i>[% formatteddatereceived %]</i>
213 Receive orders from [% name %]
217 [% IF ( success_delorder ) %]
218 <div class="dialog message">The order has been successfully canceled.</div>
220 [% IF ( error_delitem ) %]
221 <div class="dialog alert">The order has been canceled, although one or more items could not have been deleted.</div>
223 [% IF ( error_delbiblio ) %]
224 <div class="dialog alert">The order has been canceled, although the record has not been deleted.</div>
228 <div id="acqui_receive_summary">
229 <p><strong>Invoice number:</strong> [% invoice %] <strong>Received by:</strong> [% loggedinusername %] <strong>On:</strong> [% formatteddatereceived %]</p>
230 <!-- TODO: Add date picker, change rcv date. -->
232 <div id="acqui_receive_search">
233 <h3>Pending orders</h3>
235 [% IF ( loop_orders ) %]<table id="pendingt">
250 <tr><td colspan="4" class="total">TOTAL</td>
251 <td> [% totalPquantity %] </td>
253 <td>[% ordergrandtotal %]</td>
258 <tbody class="filterclass">
259 [% FOREACH loop_order IN loop_orders %]
261 <td class="basketfilterclass"><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_order.basketno %]">[% loop_order.basketno %]</a></td>
262 <td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&booksellerid=[% loop_order.booksellerid %]">[% loop_order.ordernumber %]</a></td>
263 <td class="summaryfilterclass">
264 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber %]">[% loop_order.title |html %]</a>
265 [% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
266 [% IF ( loop_order.isbn ) %] – [% loop_order.isbn %][% END %]
267 [% IF ( loop_order.publishercode ) %]<br />Publisher :[% loop_order.publishercode %][% END %]
268 [% IF ( loop_order.suggestionid ) %]
270 Suggested by: [% loop_order.surnamesuggestedby %][% IF ( loop_order.firstnamesuggestedby ) %], [% loop_order.firstnamesuggestedby %] [% END %]
271 (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_order.suggestionid %]&op=show">suggestion #[% loop_order.suggestionid %]</a>)
274 [% IF ( loop_order.notes ) %]
275 <p class="ordernote"><strong>Note: </strong>[% loop_order.notes|html %] [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Fbooksellerid=[% loop_order.booksellerid %]&datereceived=[% loop_order.invoicedatereceived %]&invoice=[% loop_order.invoice %]">Change note</a>]</p>
277 [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Fbooksellerid=[% loop_order.booksellerid %]&datereceived=[% loop_order.invoicedatereceived %]&invoice=[% loop_order.invoice %]">Add note</a>]
280 <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&id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
281 <td>[% loop_order.quantity %]</td>
282 <td>[% loop_order.ecost %]</td>
283 <td>[% loop_order.ordertotal %]</td>
285 <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&datereceived=[% invoicedatereceived %]&invoice=[% invoice %]&gst=[% loop_order.gst %]&freight=[% loop_order.freight %]&booksellerid=[% loop_order.booksellerid %]">Receive</a>
289 [% IF ( loop_order.left_holds_on_order ) %]
290 <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>
292 <a href="javascript:confirm_delete_item([% loop_order.ordernumber %],[% loop_order.basketno %],[% loop_order.biblionumber %])" class="button">Delete order</a><br>
294 [% IF ( loop_order.can_del_bib ) %]
295 <a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %],[% loop_order.basketno %],[% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
297 <span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
299 [% IF ( loop_order.left_item ) %]
300 <b title="Can't delete catalog record, because of [% loop_order.items %] existing item(s)" >[% loop_order.items %] item(s) left</b><br>
302 [% IF ( loop_order.left_biblio ) %]
303 <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios %] order(s) left</b><br>
305 [% IF ( loop_order.left_subscription ) %]
306 <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions %] subscription(s) left</b><br>
308 [% IF ( loop_order.left_holds ) %]
309 <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds %] hold(s) left</b>
315 </table>[% ELSE %]There are no pending orders.[% END %]
316 <div id="resultnumber">
317 <!-- Row of numbers corresponding to search result pages -->
318 [% IF ( displayprev ) %]
319 <a href="parcel.pl?type=intra&booksellerid=[% booksellerid %]&startfrom=[% prevstartfrom %][% IF ( datereceived ) %]&datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&resultsperpage=[% resultsperpage %][% END %]#resultnumber"><< Previous</a>
321 [% FOREACH number IN numbers %]
322 [% IF ( number.highlight ) %]
323 <span class="current">[% number.number %]</span>
325 <a href="parcel.pl?type=intra&booksellerid=[% booksellerid %]&startfrom=[% number.startfrom %][% IF ( datereceived ) %]&datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&resultsperpage=[% resultsperpage %][% END %]#resultnumber">[% number.number %]</a>
328 [% IF ( displaynext ) %]
329 <a href="parcel.pl?type=intra&booksellerid=[% booksellerid %]&startfrom=[% nextstartfrom %][% IF ( datereceived ) %]&datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&resultsperpage=[% resultsperpage %][% END %]#resultnumber">Next >></a>
333 <div id="acqui_receive_receivelist">
334 <h3>Already received</h3>
336 [% IF ( loop_received ) %]
337 <form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
338 <table id="receivedt">
353 <td colspan="4" class="total">SUBTOTAL</td>
354 <td colspan="2"> </td>
355 <td>[% totalprice %]</td>
356 <td>[% tototal %]</td>
359 [% IF ( totalfreight ) %]
361 <td colspan="6">
364 <td>[% totalfreight %]</td>
372 The total at the bottom of the page should be within a few cents of the total for the invoice.
375 <td><b>Tax rate</b></td>
380 <td colspan="4" class="total">TOTAL</td>
381 <td>[% totalquantity %]</td>
382 <td colspan="2"> </td>
383 <td>[% grandtot %]</td>
386 <tbody class="filterclass">
387 [% FOREACH loop_receive IN loop_received %]
389 <td><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a></td>
390 <td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
391 <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
392 [% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
393 [% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
394 [% IF ( loop_receive.publishercode ) %]<br />Publisher :[% loop_receive.publishercode %][% END %]
395 [% IF ( loop_receive.suggestionid ) %]
397 Suggested by: [% loop_receive.surnamesuggestedby %][% IF ( loop_receive.firstnamesuggestedby ) %], [% loop_receive.firstnamesuggestedby %] [% END %]
398 (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_receive.suggestionid %]&op=show">suggestion #[% loop_receive.suggestionid %]</a>)
401 <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&id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
402 <td>[% loop_receive.quantityreceived %]</td>
403 <td>[% loop_receive.ecost %]</td>
404 <td>[% loop_receive.unitprice %]</td>
405 <td>[% loop_receive.total %]</td>
411 [% ELSE %]There are no received orders.[% END %]
414 <!--<form action="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% booksellerid %]" method="post">-->
415 <form action="parcels.pl?booksellerid=[% booksellerid %]" method="post">
416 <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
417 <fieldset class="action">
418 <input type="submit" value="Finish receiving" />
425 <form action="/cgi-bin/koha/acqui/parcel.pl" id="filterform" onsubmit="return filter();">
426 <fieldset class="brief">
433 <label for="summaryfilter">ISBN, author or title :</label>
434 <input type="text" name="summaryfilter" id="summaryfilter" />
438 <label for="basketfilter">Basket :</label>
439 <input type="text" name="basketfilter" id="basketfilter" />
443 <label for="orderfilter">Order line :</label>
444 <input type="text" name="orderfilter" id="orderfilter" />
448 <label for="eanfilter">EAN :</label>
449 <input type="text" name="eanfilter" id="eanfilter" />
453 <fieldset class="action">
454 <input type="submit" value="Filter" />
455 <a href="#" onclick="clearFilters();">Clear</a>
461 [% INCLUDE 'acquisitions-menu.inc' %]
464 [% INCLUDE 'intranet-bottom.inc' %]