Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt
Mathieu Saby 138f14c2b9 Bug 9416: (follow-up) fix neworderempty and templates
This followup answer QA remarks :
- neworderempty.pl updated so that the 2 new variables are passed
  to the template
- modordernotes.tt fixed to make the translation easier
- in CSV headers, to make clear that no change are made for the moment,
  rename "note" to "internal note"

Additionnaly, "Publisher code" was wrong in the csv headers. I changed
it to "Publisher" (the field in database is publishercode, but the
content is a real publisher name, not a code)

I did not change "Note:" in modordernotes.tt, because it is just under
a h1 tag which specifies the type of note the librarian is editing.

Test plan :
- edit an existing order, and try to change/add/delete the vendor note,
  and the internal note. Check the changes are properly saved
- export a basket and a basketgroup in CSV. Check the columns headers
  are "Publisher" and "Vendor note"

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed some tabs. Passes QA script and tests.

Tested:
- add notes when creating an order
- edit notes modifying an order line
- edit notes using the links on the basket summary
- check basket CSV export
- close basket
- check basket group CSV export
- edit notes on order receive page using the links
- edit notes on receive

Note: Translatability of templates could be improved by a follow-up.
It's better not to divide up sentences with if/else structures.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-19 15:55:37 +00:00

518 lines
23 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[% USE currency = format('%.2f') -%]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions &rsaquo; [% IF ( date ) %]
Receipt summary for [% name %] [% IF ( invoice ) %]invoice [% invoice %][% END %] on [% formatteddatereceived %][% ELSE %]Receive orders from [% name %][% END %]</title>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.cookie.min.js"></script>
[% INCLUDE 'greybox.inc' %]
<script type="text/javascript">
//<![CDATA[
dt_overwrite_html_sorting_localeCompare();
var sticky_filters = [% sticky_filters %];
$(document).ready(function(){
if ( $("#pendingt").length ) {
var pendingt = $("#pendingt").dataTable($.extend(true, {}, dataTablesDefaults, {
"bStateSave": true,
"iCookieDuration": 60*60*24*1000, // 1000 days
"iDisplayLength": 10,
"aLengthMenu": [[5, 10, 20, 50, 100, -1], [5, 10, 20, 50, 100, _("All")]],
"aoColumnDefs": [
{ "aTargets": [ 4, 9, 10 ], "bSortable": false, "bSearchable": false },
],
"aoColumns": [
{ "sType": "html" },
{ "sType": "html" },
{ "sType": "num-html" },
{ "sType": "html" },
null,
null,
null,
null,
null,
null,
null,
],
'bAutoWidth': false,
"sPaginationType": "four_button"
} )
).columnFilter({
sPlaceHolder: "head:after",
aoColumns: [
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
null,
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
null,
null
]
});
}
if ( $("#receivedt").length ) {
var receivedt = $("#receivedt").dataTable($.extend(true, {}, dataTablesDefaults, {
"bStateSave": true,
"iCookieDuration": 60*60*24*1000, // 1000 days
"iDisplayLength": 10,
"aLengthMenu": [[5, 10, 20, 50, 100, -1], [5, 10, 20, 50, 100, _("All")]],
"aoColumnDefs": [
{ "aTargets": [ 5, -1 ], "bSortable": false, "bSearchable": false },
],
"aoColumns": [
{ "sType": "html" },
{ "sType": "html" },
{ "sType": "html" },
{ "sType": "num-html" },
null,
null,
null,
null,
null,
null,
null,
null
],
"sPaginationType": "four_button"
} ) );
}
// Keep filters from finishreceive.pl to parcel.pl
$.cookie("filter_parcel_summary", $("#summaryfilter").val());
$.cookie("filter_parcel_basketname", $("#basketfilter").val());
$.cookie("filter_parcel_orderno", $("#orderfilter").val());
$.cookie("filter_parcel_basketgroupname", $("#basketgroupnamefilter").val());
$.cookie("filter_parcel_ean", $("#eanfilter").val());
$("#filterform").on('submit', function(){
$.cookie("filter_parcel_summary", $("#summaryfilter").val());
$.cookie("filter_parcel_basketname", $("#basketfilter").val());
$.cookie("filter_parcel_orderno", $("#orderfilter").val());
$.cookie("filter_parcel_basketgroupname", $("#basketgroupnamefilter").val());
$.cookie("filter_parcel_ean", $("#eanfilter").val());
});
});
// Case-insensitive version of jquery's contains function
jQuery.extend(jQuery.expr[':'], {
icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
});
// Contains exactly function
jQuery.extend(jQuery.expr[':'], {
containsExactly: "$(a).text() == m[3]"
});
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
function confirm_delete_item(ordernumber, basketno, biblionumber) {
var is_confirmed = confirm(_("Are you sure you want to delete this order ?"));
if (is_confirmed) {
window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&invoiceid=[% invoiceid %]";
}
}
function confirm_delete_biblio(ordernumber, basketno, biblionumber) {
var is_confirmed = confirm(_("Are you sure you want to delete this catalog record and order ?"));
if (is_confirmed) {
window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&delbiblio=1&invoiceid=[% invoiceid %]";
}
}
function transfer_order_popup(ordernumber) {
var url = "/cgi-bin/koha/acqui/transferorder.pl?"
+ "ordernumber=" + ordernumber
window.open(url, 'TransferOrder');
}
//]]>
</script>
</head>
<body id="acq_parcel" 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;
[% IF ( datereceived ) %]
Receipt summary for <i>[% name %]</i>
[% IF ( invoice ) %]
<i>[ [% invoice %] ]</i>
[% END %]
on <i>[% formatteddatereceived %]</i>
[% ELSE %]
Receive orders from [% name %]
[% END %]
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% IF ( receive_error ) %]
<div class="dialog alert">
<h3>Error adding items:</h3>
<ul>
[% FOREACH error_loo IN error_loop %]
<li>[% error_loo.error_param %][% IF ( error_loo.error_duplicate_barcode ) %]Duplicate Barcode[% END %] <!-- todo: other error conditions come here. --></li>
[% END %]
</ul>
</div>
[% END %]
<h1>
[% IF ( datereceived ) %]
Receipt summary for <i>[% name %]</i> [% IF ( invoice ) %] <i> [ [% invoice %] ] </i>[% END %] on <i>[% formatteddatereceived %]</i>
[% ELSE %]
Receive orders from [% name %]
[% END %]
</h1>
[% IF ( success_delorder ) %]
<div class="dialog message">The order has been successfully canceled.</div>
[% ELSE %]
[% IF ( error_delitem ) %]
<div class="dialog alert">The order has been canceled, although one or more items could not have been deleted.</div>
[% END %]
[% IF ( error_delbiblio ) %]
<div class="dialog alert">The order has been canceled, although the record has not been deleted.</div>
[% END %]
[% END %]
[% IF (error_cancelling_receipt) %]
<div class="dialog error">
Cannot cancel receipt. Possible reasons :
<ul>
<li>
The order line you trying to cancel was created from a partial receipt
of another order line which is already received. Try to cancel this
one first and retry.
</li>
<li>
The order line you trying to cancel was created from a partial receipt
of another order line which has been deleted. Cancellation is not
possible.
</li>
</ul>
</div>
[% END %]
[% IF error_invoice_not_known %]
<div class="dialog error">
The invoice referenced by this invoiceid does not exist.
</div>
[% END %]
[% UNLESS no_orders_to_display %]
<div id="acqui_receive_summary">
<p><strong>Invoice number:</strong> [% invoice %] <strong>Received by:</strong> [% loggedinusername %] <strong>On:</strong> [% formatteddatereceived %]</p>
</div>
[% UNLESS (invoiceclosedate) %]
<div id="acqui_receive_search">
<h3>Pending orders</h3>
[% IF ( loop_orders ) %]
<table id="pendingt">
<thead>
<tr>
<th>Basket search</th>
<th>Basket group search</th>
<th>Order line search</th>
<th>Summary search</th>
<th>&nbsp;</th>
<th>Quantity search</th>
<th>Unit cost search</th>
<th>Order cost search</th>
<th>Fund search</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
<tr>
<th>Basket</th>
<th>Basket group</th>
<th>Order line</th>
<th>Summary</th>
<th>View record</th>
<th>Quantity</th>
<th>Unit cost</th>
<th>Order cost</th>
<th>Fund</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody class="filterclass">
[% FOREACH loop_order IN loop_orders %]
<tr>
<td class="basketfilterclass">[% loop_order.basketname %] (<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_order.basketno %]">[% loop_order.basketno %]</a>)</td>
<td>
[% IF loop_order.basketgroupid %]
[% loop_order.basketgroupname %] (<a href="/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% loop_order.booksellerid %]">[% loop_order.basketgroupid %]</a>)
[% ELSE %]
No basket group
[% END %]
</td>
<td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&amp;booksellerid=[% loop_order.booksellerid %]">[% loop_order.ordernumber %]</a></td>
<td class="summaryfilterclass">
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber %]">[% loop_order.title |html %]</a>
[% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
[% IF ( loop_order.isbn ) %] &ndash; [% loop_order.isbn %][% END %]
[% IF ( loop_order.publishercode ) %]<br />Publisher:[% loop_order.publishercode %][% END %]
[% IF ( loop_order.suggestionid ) %]
<br/>
Suggested by: [% loop_order.surnamesuggestedby %][% IF ( loop_order.firstnamesuggestedby ) %], [% loop_order.firstnamesuggestedby %] [% END %]
(<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_order.suggestionid %]&amp;op=show">suggestion #[% loop_order.suggestionid %]</a>)
[% END %]
<br />
[% IF ( loop_order.order_internalnote ) %]
f<p class="ordernote"><strong>Internal note: </strong>[% loop_order.order_internalnote|html %] [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]&type=internal">Change internal note</a>]</p>
[% ELSE %]
[<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]&type=internal">Add internal note</a>]
[% END %]
[% IF ( loop_order.order_vendornote ) %]
<p class="ordernote"><strong>Vendor note: </strong>[% loop_order.order_vendornote|html %] [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]&type=vendor">Change vendor note</a>]</p>
[% ELSE %]
[<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% loop_order.ordernumber %]&amp;referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]&type=vendor">Add vendor note</a>]
[% END %]
</td>
<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>
<td>[% loop_order.quantity %]</td>
<td>[% loop_order.ecost %]</td>
<td>[% loop_order.ordertotal %]</td>
<td>[% loop_order.budget_name %]</td>
<td>
<a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;invoiceid=[% invoiceid %]">Receive</a>
<br />
<a href="#" onclick="transfer_order_popup([% loop_order.ordernumber %]); return false;">Transfer</a>
</td>
<td>
[% IF ( loop_order.left_holds_on_order ) %]
<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>
[% ELSE %]
<a href="javascript:confirm_delete_item([% loop_order.ordernumber %], [% loop_order.basketno %], [% loop_order.biblionumber %])" class="button">Delete order</a><br>
[% END %]
[% IF ( loop_order.can_del_bib ) %]
<a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %], [% loop_order.basketno %], [% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
[% ELSE %]
<span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
[% END %]
[% IF ( loop_order.left_item ) %]
<b title="Can't delete catalog record, because of [% loop_order.items %] existing item(s)" >[% loop_order.items %] item(s) left</b><br>
[% END %]
[% IF ( loop_order.left_biblio ) %]
<b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios %] order(s) left</b><br>
[% END %]
[% IF ( loop_order.left_subscription ) %]
<b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions %] subscription(s) left</b><br>
[% END %]
[% IF ( loop_order.left_holds ) %]
<b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds %] hold(s) left</b>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]There are no pending orders.[% END %]
</div>
[% ELSE %]
<p>
Invoice is closed, so you can't receive orders anymore.
<a href="/cgi-bin/koha/acqui/invoice.pl?op=reopen&invoiceid=[% invoiceid %]&referer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]">Reopen it</a>.
</p>
[% END %]
<div id="acqui_receive_receivelist">
<h3>Already received</h3>
[% IF ( loop_received ) %]
[% SET funds = {} %]
[% SET estimated_total = 0 %]
[% FOREACH loop_receive IN loop_received %]
[% IF (funds.${ loop_receive.budget.budget_name }.estimated == '') %]
[% SET funds.${ loop_receive.budget.budget_name }.estimated = 0 %]
[% END %]
[% IF (funds.${ loop_receive.budget.budget_name }.actual == '') %]
[% SET funds.${ loop_receive.budget.budget_name }.actual = 0 %]
[% END %]
[% SET estimated_total = estimated_total + ( loop_receive.ecost * loop_receive.quantityreceived ) %]
[% SET funds.${ loop_receive.budget.budget_name }.estimated = funds.${ loop_receive.budget.budget_name }.estimated + ( loop_receive.ecost * loop_receive.quantityreceived )%]
[% SET funds.${ loop_receive.budget.budget_name }.actual = funds.${ loop_receive.budget.budget_name }.actual + loop_receive.total %]
[% END %]
<form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
<table id="receivedt">
<thead>
<tr>
<th>Basket</th>
<th>Basket group</th>
<th>Order Line</th>
<th>Holds</th>
<th>Summary</th>
<th>View record</th>
<th>Quantity</th>
<th>Fund</th>
<th>Est cost</th>
<th>Actual cost</th>
<th>TOTAL</th>
<th></th>
</tr>
</thead>
<tfoot>
[% FOREACH key IN funds.keys.sort %]
<tr>
<td colspan="6" class="total">(Tax exc.)</td>
<td><i>Subtotal for</i> [% key %]</td>
<td>[% currency( funds.$key.estimated ) %]</td>
<td>[% currency( funds.$key.actual ) %]</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
[% END %]
<tr>
<th colspan="10" class="total">Total tax exc.</th>
<th>[% total_gste %]</th>
<th></th>
</tr>
[% FOREACH book_foot IN book_foot_loop %]
<tr>
<th colspan="10">Total (GST [% book_foot.gstrate * 100 | format ("%.1f") %]%)</th>
<th>[% book_foot.value %]</th>
<th></th>
</tr>
[% END %]
<tr>
<th colspan="10" class="total">Total tax inc.</th>
<th>[% total_gsti %]</th>
<th></th>
</tr>
</tfoot>
<tbody class="filterclass">
[% FOREACH loop_receive IN loop_received %]
<tr>
<td>[% loop_receive.basketname %] (<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a>)</td>
<td>
[% IF loop_order.basketgroupid %]
[% loop_receive.basketgroupname %] (<a href="/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% loop_receive.booksellerid %]">[% loop_receive.basketgroupid %]</a>)
[% ELSE %]
No basket group
[% END %]
</td>
<td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&amp;booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
<td>
[% IF loop_receive.holds > 0 %]
<span class="error"><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.holds %]</a></span>
[% ELSE %]
0
[% END %]
</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
[% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
[% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
[% IF ( loop_receive.publishercode ) %]<br />Publisher :[% loop_receive.publishercode %][% END %]
[% IF ( loop_receive.suggestionid ) %]
<br/>
Suggested by: [% loop_receive.surnamesuggestedby %][% IF ( loop_receive.firstnamesuggestedby ) %], [% loop_receive.firstnamesuggestedby %] [% END %]
(<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_receive.suggestionid %]&amp;op=show">suggestion #[% loop_receive.suggestionid %]</a>)
[% END %]
</td>
<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>
<td>[% loop_receive.quantityreceived %]</td>
<td>[% loop_receive.budget.budget_name %]</td>
<td>[% loop_receive.ecost %]</td>
<td>[% loop_receive.unitprice %]</td>
<td>[% loop_receive.total %]</td>
<td>
[% IF (loop_receive.cannot_cancel) %]
[% span_title = BLOCK %]
Cannot cancel receipt of this order line because it
was created from a partial receipt of order line no.
[% loop_receive.parent_ordernumber %], which is
already received. Try cancelling this one first and
retry.
[% END %]
<span title="[% span_title | collapse %]">
Can't cancel receipt
</span>
[% ELSE %]
<a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]&op=cancelreceipt&ordernumber=[% loop_receive.ordernumber %]">Cancel receipt</a>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
</form>
[% ELSE %]There are no received orders.[% END %]
</div>
[% IF (invoiceclosedate) %]
<a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoiceid %]">View invoice</a>
[% ELSE %]
<form action="/cgi-bin/koha/acqui/invoice.pl" method="get">
<input type="hidden" name="invoiceid" value="[% invoiceid %]" />
<fieldset class="action">
<input type="submit" value="Finish receiving" />
</fieldset>
</form>
[% END %]
[% END %]
</div>
</div>
<div class="yui-b">
<form action="/cgi-bin/koha/acqui/parcel.pl" id="filterform" method="post">
<fieldset class="brief">
<h4>Filter</h4>
<ol>
<li>
<label for="summaryfilter">ISBN, author or title :</label>
<input type="text" name="summaryfilter" id="summaryfilter" value="[% summaryfilter %]"/>
</li>
<li>
<label for="basketfilter">Basket :</label>
<input type="text" name="basketfilter" id="basketfilter" value="[% basketfilter %]"/>
</li>
<li>
<label for="basketgroupnamefilter">Basket group name :</label>
<input type="text" name="basketgroupnamefilter" id="basketgroupnamefilter" value="[% basketgroupnamefilter %]" />
</li>
<li>
<label for="orderfilter">Order line :</label>
<input type="text" name="orderfilter" id="orderfilter" value="[% orderfilter %]"/>
</li>
[% IF (UNIMARC) %]
<li>
<label for="eanfilter">EAN :</label>
<input type="text" name="eanfilter" id="eanfilter" value="[% eanfilter %]"/>
</li>
[% END %]
</ol>
<fieldset class="action">
<input type="hidden" value="search" name="op" />
<input type="hidden" value="[% invoiceid %]" name="invoiceid" />
<input type="submit" value="Filter" />
<a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]">Clear</a>
</fieldset>
</fieldset>
</form>
[% INCLUDE 'acquisitions-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]