| Lines 1-136
          
      
      
        Link Here | 
        
          | 1 | [% INCLUDE 'doc-head-open.inc' %] | 1 | [% INCLUDE 'doc-head-open.inc' %] | 
        
          | 2 | <title>Koha › Acquisitions › [% IF ( date ) %] | 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> | 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" /> | 
        
          | 4 | [% INCLUDE 'doc-head-close.inc' %] | 5 | [% INCLUDE 'doc-head-close.inc' %] | 
        
          | 5 | [% INCLUDE 'greybox.inc' %] | 6 | [% INCLUDE 'greybox.inc' %] | 
        
          | 6 | <script type="text/javascript" src="[% yuipath %]/json/json-min.js"></script> | 7 | <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" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script> | 
            
              |  |  | 9 | [% INCLUDE 'datatables-strings.inc' %] | 
            
              | 10 | <script type="text/javascript" src="[% themelang %]/js/datatables.js"></script> | 
        
          | 8 | <script type="text/javascript"> | 11 | <script type="text/javascript"> | 
        
          | 9 | //<![CDATA[ | 12 | //<![CDATA[ | 
            
              |  |  | 13 |     var dt_pending; | 
        
          | 10 |  | 14 |  | 
            
              | 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() { | 15 |     function filter() { | 
          
            
              | 75 |  | 16 |         var summaryStatus = jQuery.trim($("#summaryfilter").val()); | 
            
              | 76 |     var summaryStatus = jQuery.trim($("#summaryfilter").val()); | 17 |         var basketStatus  = $("#basketfilter").val(); | 
            
              | 77 | 	var basketStatus  = $("#basketfilter").val(); | 18 |         var orderStatus   = $("#orderfilter").val(); | 
            
              | 78 | 	var orderStatus   = $("#orderfilter").val(); | 19 |  | 
            
              | 79 |  | 20 |         if (summaryStatus == '' && basketStatus == '' && orderStatus == '') { | 
            
              | 80 | 	if (summaryStatus == '' && basketStatus == '' && orderStatus == '') { clearFilters(); return false; } | 21 |             clearFilters(); | 
            
              | 81 |  | 22 |             return false; | 
            
              | 82 | 	var filtered = "table#pendingt tbody.filterclass tr"; | 23 |         } | 
            
              | 83 |  | 24 |         dt_pending.fnFilter(summaryStatus,2); | 
            
              | 84 | 	// We hide everything | 25 |         dt_pending.fnFilter(orderStatus,1); | 
            
              | 85 | 	$("#nothingfoundrow").remove(); | 26 |         dt_pending.fnFilter(basketStatus,0); | 
            
              | 86 | 	$(filtered).hide(); | 27 |  | 
            
              | 87 |  | 28 |         return false; | 
            
              | 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 + ' – ' + 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&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 + '&datereceived=[% invoicedatereceived %]&invoice=[% invoice %]&gst=' + gst + '&freight=' + order.freight + '&booksellerid=[% booksellerid %]">Receive</a> /' | 
            
              | 110 |                        + '<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>' | 
            
              | 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 |     } | 29 |     } | 
        
          | 125 |  | 30 |  | 
        
          | 126 |     // Clear already applied filters | 31 |     // Clear already applied filters | 
        
          | 127 |     function clearFilters() { | 32 |     function clearFilters() { | 
          
            
              | 128 | 	$("#nothingfoundrow").remove(); | 33 |         $("#summaryfilter").val(''); | 
            
              | 129 |         $("#pendingt tbody.filterclass tr").show(); | 34 |         $("#basketfilter").val(''); | 
            
              | 130 |         //$("#pendingt tbody.filterclass tr.orderfound").remove(); | 35 |         $("#orderfilter").val(''); | 
            
              | 131 | 	pendingExpand(); | 36 |         var oSettings = dt_pending.fnSettings(); | 
            
              |  |  | 37 |         for(iCol = 0; iCol < oSettings.aoPreSearchCols.length; iCol++) { | 
            
              | 38 |             oSettings.aoPreSearchCols[ iCol ].sSearch = ''; | 
            
              | 39 |         } | 
            
              | 40 |         dt_pending.fnDraw(); | 
        
          | 132 |     } | 41 |     } | 
        
          | 133 |  | 42 |  | 
            
              |  |  | 43 |     $(document).ready(function() { | 
            
              | 44 |         var dt_options = $.extend(true, {}, dataTablesDefaults, { | 
            
              | 45 |             'aLengthMenu': [[5, 10, 20, 50, -1], [5, 10, 20, 50, _("All")]], | 
            
              | 46 |             'iDisplayLength': 5, | 
            
              | 47 |             'sDom': '<"top pager"ilp>t' | 
            
              | 48 |         }); | 
            
              | 49 |         dt_pending = $("#pendingt").dataTable(dt_options); | 
            
              | 50 |         $("#receivedt").dataTable(dt_options); | 
            
              | 51 |     }); | 
        
          | 134 | //]]> | 52 | //]]> | 
        
          | 135 | </script> | 53 | </script> | 
        
          | 136 | <script type="text/javascript"> | 54 | <script type="text/javascript"> | 
  
    | Lines 170-180
          
      
      
        Link Here | 
        
          | 170 | 	<div class="yui-b"> | 88 | 	<div class="yui-b"> | 
        
          | 171 | 	[% IF ( receive_error ) %] | 89 | 	[% IF ( receive_error ) %] | 
        
          | 172 | 	<div class="dialog alert"> | 90 | 	<div class="dialog alert"> | 
          
            
              | 173 | 	<h3>Error adding items:</h3> | 91 | 	<h3>Error receiving items:</h3> | 
        
          | 174 | 	<ul> | 92 | 	<ul> | 
          
            
              | 175 | 	[% FOREACH error_loo IN error_loop %] | 93 |         [% FOREACH error 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> | 94 |             <li> | 
            
              | 177 | 	[% END %] | 95 |                 [% error.error_param %] | 
            
              |  |  | 96 |                 [% IF ( error.error_duplicate_barcode ) %] | 
            
              | 97 |                     Duplicate Barcode | 
            
              | 98 |                 [% ELSIF (error.error_cannot_receive_order) %] | 
            
              | 99 |                     You were not authorised to receive this order | 
            
              | 100 |                 [% END %] | 
            
              | 101 |                 <!-- todo: other error conditions come here. --> | 
            
              | 102 |             </li> | 
            
              | 103 |         [% END %] | 
        
          | 178 | 	</ul> | 104 | 	</ul> | 
        
          | 179 | 	</div> | 105 | 	</div> | 
        
          | 180 | 	[% END %] | 106 | 	[% END %] | 
  
    | Lines 258-265
          
      
      
        Link Here | 
        
          | 258 |                 <td>[% loop_order.ecost %]</td> | 184 |                 <td>[% loop_order.ecost %]</td> | 
        
          | 259 |                 <td>[% loop_order.ordertotal %]</td> | 185 |                 <td>[% loop_order.ordertotal %]</td> | 
        
          | 260 | 				<td> | 186 | 				<td> | 
          
            
              | 261 | 				    <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&datereceived=[% loop_order.invoicedatereceived %]&invoice=[% loop_order.invoice %]&gst=[% loop_order.gst %]&freight=[% loop_order.freight %]&booksellerid=[% loop_order.booksellerid %]">Receive</a> | 187 |                     [% IF (loop_order.can_receive) %] | 
            
              | 262 | 				     | 188 |                         <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&datereceived=[% loop_order.invoicedatereceived %]&invoice=[% loop_order.invoice %]&gst=[% loop_order.gst %]&freight=[% loop_order.freight %]&booksellerid=[% loop_order.booksellerid %]">Receive</a> | 
            
              |  |  | 189 |                     [% ELSE %] | 
            
              | 190 |                         Can't receive order | 
            
              | 191 |                     [% END %] | 
        
          | 263 | 				</td> | 192 | 				</td> | 
        
          | 264 | 				<td> | 193 | 				<td> | 
        
          | 265 | 				    [% IF ( loop_order.left_holds_on_order ) %] | 194 | 				    [% IF ( loop_order.left_holds_on_order ) %] | 
  
    | Lines 289-310
          
      
      
        Link Here | 
        
          | 289 |         [% END %] | 218 |         [% END %] | 
        
          | 290 |     </tbody> | 219 |     </tbody> | 
        
          | 291 |      </table>[% ELSE %]There are no pending orders.[% END %] | 220 |      </table>[% ELSE %]There are no pending orders.[% END %] | 
            
              | 292 |    <div id="resultnumber"> |  |  | 
            
              | 293 | 	<!-- Row of numbers corresponding to search result pages --> | 
            
              | 294 | 	[% IF ( displayprev ) %] | 
            
              | 295 | 		<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> | 
            
              | 296 | 	[% END %] | 
            
              | 297 | 	[% FOREACH number IN numbers %] | 
            
              | 298 | 		[% IF ( number.highlight ) %] | 
            
              | 299 | 		<span class="current">[% number.number %]</span> | 
            
              | 300 | 		[% ELSE %] | 
            
              | 301 | 		<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> | 
            
              | 302 | 		[% END %] | 
            
              | 303 | 	[% END %] | 
            
              | 304 | 	[% IF ( displaynext ) %] | 
            
              | 305 | 		<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> | 
            
              | 306 | 	[% END %] | 
            
              | 307 | 	</div> | 
        
          | 308 | </div> | 221 | </div> | 
        
          | 309 | <div id="acqui_receive_receivelist"> | 222 | <div id="acqui_receive_receivelist"> | 
        
          | 310 |     <h3>Already received</h3> | 223 |     <h3>Already received</h3> | 
            
              | 311 | -  |  |  |