Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
Lyon3 Team 2dc5ae238a Bug 14343: Incorrect links to results pages in Receive Shipment List
Numbered links have incorrect url. Links to result pages
don't work in Receive Shipment List (but fortunately, Next
and Previous buttons work) It's because the booksellerid is
not furnished in the url.

Test Plan :
1) Go to Acquisitions module, enter a bookseller name that you
   know you can get many page of invoices for and search for it.

2) click on Receive shipment button.

3) On bottom of the first results page, click on page number 2
   link. (cf joined screencast)

You'll see that the results include invoices from other
booksellerid. Indeed, I suppose that you get results from all booksellerid.

Intall patch and redo 3 steps.

NOTE: I did not follow this test plan.
      I read the acqui/parcels.pl code.
      The template parameter numbers is assigned in a function which has
      no reference to booksellerid at all!
      Additionally, the booksellerid is set directly elsewhere.
      It is also strange that the booksellerid references before and after
      this loop do not use the numbers.booksellerid, but just booksellerid.
      The change from numbers.booksellerid to booksellerid is correct!

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-09-07 11:47:00 -03:00

232 lines
10 KiB
Text

[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions &rsaquo; Receive shipment from vendor [% name %]</title>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
var parcelst = $("#parcelst").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "sType": "title-string", "aTargets" : [ "title-string" ] }
],
"sPaginationType": "four_button"
} ) );
//keep a copy of all budgets before removing the inactives
var budgetId = $("#shipmentcost_budgetid");
var disabledBudgetsCopy = budgetId.html();
$('.b_inactive').remove();
$('#showallfunds').click(function() {
if ($(this).is(":checked")) {
budgetId.html(disabledBudgetsCopy); //Puts back all the funds
}
else {
$('.b_inactive').remove();
}
});
});
//]]>
</script>
</head>
<body id="acq_parcels" class="acq">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
<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 %]">[% name %]</a> &rsaquo; Receive shipment from vendor [% name %]</div>
[% IF ( count ) %]<div id="doc3" class="yui-t2">[% ELSE %]<div id="doc" class="yui-t7">[% END %]
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% IF ( error_failed_to_create_invoice ) %]
<div id="error" class="dialog alert">
<p>An error has occurred. Invoice cannot be created.</p>
</div>
[% END %]
<h1>Receive shipment from vendor <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a></h1>
[% IF duplicate_invoices %]
<div id="parcels_duplicate_invoice" class="dialog alert">
<p>This invoice number has already been used. Would you like to receive on an existing invoice?</p>
<table>
<thead><tr><th>Invoice no.</th><th>Shipment date</th><th></th></tr></thead>
<tbody>
[% FOREACH invoice IN duplicate_invoices %]
<tr>
<td>[% invoice.invoicenumber %]</td>
<td>[% invoice.shipmentdate | $KohaDates %]</td>
<td><a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoice.invoiceid %]">Receive</a></td>
</tr>
[% END %]
</tbody>
</table>
<form method="get" action="parcels.pl">
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
<input type="hidden" name="op" value="confirm" />
<input type="hidden" name="invoice" value="[% invoicenumber %]" />
<input type="hidden" name="shipmentdate" value="[% shipmentdate | $KohaDates %]" />
<input type="hidden" name="shipmentcost" value="[% shipmentcost %]" />
<input type="hidden" name="shipmentcost_budgetid" value="[% shipmentcost_budgetid %]" />
<input type="submit" class="button" value="Create new invoice anyway" />
</form>
</div>
[% END %]
[% IF ( count ) %]
<p> [% count %] shipments</p>
<div id="resultlist">
<!-- Search Results Table -->
<table class="small" id="parcelst">
<thead>
<tr>
<th>Line</th>
<th class="title-string">Date received</th>
<th>Invoice number</th>
<th>Item count</th>
<th>Biblio count</th>
<th>Items expected</th>
</tr>
</thead>
<tbody>
<!-- Actual Search Results -->
[% FOREACH searchresult IN searchresults %]
[% UNLESS ( loop.odd ) %]
<tr class="highlight">
[% ELSE %]
<tr>
[% END %]
<td>
[% searchresult.number %]
</td>
<td>
<span title="[% searchresult.datereceived %]">[% searchresult.datereceived | $KohaDates %]</span>
</td>
<td>
[% IF ( searchresult.code ) %]
<a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% searchresult.invoiceid %]">[% searchresult.code %]</a>
[% ELSE %]
<abbr title="not available">n/a</abbr>
[% END %]
</td>
<td>
[% searchresult.reccount %]
</td>
<td>
[% searchresult.bibcount %]
</td>
<td>
[% searchresult.itemcount %]
</td>
</tr>
[% END %]
</tbody>
</table>
<div id="resultnumber">
<!-- Row of numbers corresponding to search result pages -->
[% IF ( displayprev ) %]
<a href="parcels.pl?booksellerid=[% booksellerid %]&amp;startfrom=[% prevstartfrom %][% IF ( datefrom ) %]&amp;datefrom=[% datefrom %][% END %][% IF ( dateto ) %]&amp;dateto=[% dateto %][% END %][% IF ( code ) %]&amp;filter=[% code %][% END %][% IF ( orderby ) %]&amp;orderby=[% orderby %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]&amp;type=intra">&lt;&lt; Previous</a>
[% END %]
[% FOREACH number IN numbers %]
[% IF ( number.highlight ) %]
<span class="current">[% number.number %]</span>
[% ELSE %]
<a href="parcels.pl?booksellerid=[% booksellerid %]&amp;startfrom=[% number.startfrom %][% IF ( number.datefrom ) %]&amp;datefrom=[% number.datefrom %][% END %][% IF ( number.dateto ) %]&amp;dateto=[% number.dateto %][% END %][% IF ( number.code ) %]&amp;filter=[% number.code %][% END %][% IF ( number.orderby ) %]&amp;orderby=[% number.orderby %][% END %][% IF ( number.resultsperpage ) %]&amp;resultsperpage=[% number.resultsperpage %][% END %]&amp;type=intra">[% number.number %]</a>
[% END %]
[% END %]
[% IF ( displaynext ) %]
<a href="parcels.pl?booksellerid=[% booksellerid %]&amp;startfrom=[% nextstartfrom %][% IF ( datefrom ) %]&amp;datefrom=[% datefrom %][% END %][% IF ( dateto ) %]&amp;dateto=[% dateto %][% END %][% IF ( code ) %]&amp;filter=[% code %][% END %][% IF ( orderby ) %]&amp;orderby=[% orderby %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]&amp;type=intra">Next &gt;&gt;</a>
[% END %]
</div>
</div>
[% END %]
<div id="parcels_new_parcel">
<form method="get" action="parcels.pl">
<fieldset class="rows">
<legend>Receive a new shipment</legend>
<ol> <li>
<label for="invoice">Vendor invoice </label>
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
<input type="hidden" name="op" value="new" />
<input type="text" size="20" id="invoice" name="invoice" class="focus" />
</li>
[% IF ( gst ) %]
<li>
<label for="gst">GST:</label>
<input type="text" size="20" id="gst" name="gst" />
</li>
[% END %]
<!-- // Removing freight input until shipping can be proplerly handled .
<li>
<label for="freight">Shipping:</label>
<input type="text" size="20" id="freight" name="freight" />
</li> -->
<li>
<label for="shipmentdate">Shipment date: </label>
<input type="text" id="shipmentdate" name="shipmentdate" maxlength="10" size="10" value="[% shipmentdate_today %]" class="datepicker" />
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li>
<label for="shipmentcost">Shipping cost: </label>
<input type="text" id="shipmentcost" name="shipmentcost" size="10" />
</li>
<li>
<label for="shipmentcost_budgetid">Fund: </label>
<select id="shipmentcost_budgetid" name="shipmentcost_budgetid">
<option value="">No fund</option>
[% FOREACH budget IN budgets %]
[% IF ( budget.b_active ) %]
<option value="[% budget.b_id %]">[% budget.b_txt %]</option>
[% ELSE %]
<option value="[% budget.b_id %]" class="b_inactive">[% budget.b_txt %] (inactive)</option>
[% END %]
[% END %]
</select>
<label for="showallfunds" style="float:none;width:auto;">&nbsp;Show inactive:</label>
<input type="checkbox" id="showallfunds" />
</li>
</ol>
</fieldset>
<fieldset class="action"><input type="submit" class="button" value="Next" /> <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">Cancel</a></fieldset>
</form>
</div>
</div>
</div>
<div class="yui-b">
[% IF ( count ) %]<form method="get" action="parcels.pl">
<fieldset class="brief">
<h4>Filter</h4>
<ol>
<li> <input type="hidden" name="booksellerid" value="[% booksellerid %]" /></li>
<li><label for="filter">Invoice number:</label><input type="text" size="20" name="filter" value="[% filter %]" id="filter" /></li>
<li><label for="datefrom">From:</label><input type="text" size="9" id="datefrom" name="datefrom" value="[% datefrom %]" class="datepicker" /><br />
<label for="dateto">To:</label><input type="text" size="9" id="dateto" name="dateto" value="[% dateto %]" class="datepicker" /></li>
<li><label for="orderby">Sort by :</label><select name="orderby" id="orderby">
<option value="invoicenumber">Invoice number</option>
<option value="shipmentdate">Shipment date</option>
<option value="shipmentdate desc">Shipment date reverse</option>
<option value="invoicenumber desc">Invoice number reverse</option>
</select><br />
<label for="resultsperpage">Results per page :</label><select name="resultsperpage" id="resultsperpage">
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="100">100</option>
</select></li>
</ol>
<fieldset class="action"><input type="submit" class="button" value="Filter" /> <a href="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% booksellerid %]">Clear</a></fieldset>
</fieldset>
</form>[% END %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]