Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt
Jonathan Druart d76dbace5e Bug 7291: Adds new field aqbooksellers.deliverytime
New field deliverytime in aqbooksellers table. It is an estimated
delivery time for orders (in days).
You can set this delay on the supplier modification page.
It is used in the late orders search.

The order estimated date is the aqbasket.closedate +
aqbooksellers.deliverytime

If you set a delay, the query check if closedate <= today - delay

If you set a "delivery time from" and a "delivery time to", the query check if
$delivery_time_from <= aqbooksellers.deliverytime is not NULL and if
closedate + deliverytime >= $delivery_time_to
if there is not a time_to then $delivery_time_to = the current date.
2012-04-03 18:19:46 +02:00

198 lines
7.9 KiB
Text

[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions &rsaquo; Late orders</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$("input:checkbox[name=claim_for]").click(function(){
var booksellerid = $(this).attr('booksellerid');
if ( $("input:checkbox[name=claim_for]:checked").length > 0) {
$("input:checkbox[name=claim_for][booksellerid!="+booksellerid+"]").attr('disabled', true);
} else {
$("input:checkbox[name=claim_for]").attr('disabled', false);
}
});
$('#CheckAll').click(function(){ $("#late_orders td").checkCheckboxes();});
$('#CheckNone').click(function(){ $("#late_orders td").unCheckCheckboxes();});
});
//]]>
</script>
</head>
<body id="acq_lateorders" 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="lateorders.pl">Late orders</a></div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<h1>[% IF ( Supplier ) %][% Supplier %] : [% END %]Late orders</h1>
<div id="acqui_lateorders">
[% IF error_claim %]
[% IF ( error_claim == "no_email" ) %]
<div class="error">This vendor has no email</div>
[% ELSE %]
<div class="error">[% error_claim %]</div>
[% END %]
[% END %]
[% IF info_claim %]
<div class="dialog message">Email has been sent.</div>
[% END %]
[% IF ( lateorders ) %]
<form action="lateorders.pl" name="claim" method="post">
<input type="hidden" name="op" value="send_alert" />
<input type="hidden" name="delay" value="[% delay %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
[% IF ( letters ) %]
<p><label for="letter_code">Claim using notice: </label><select name="letter_code" id="letter_code">
[% FOREACH letter IN letters %]
<option value="[% letter.code %]">[% letter.name %]</option>
[% END %]
</select>
</p>
[% END %]
<table id="late_orders">
<tr>
<th>Order Date</th>
<th>Estimated delivery date</th>
<th>Vendor</th>
<th>Information</th>
<th>Total cost</th>
<th>Basket</th>
<th>Claims count</th>
<th>Claimed date</th>
[% IF Supplier %]
<th><a id="CheckAll" href="#">Check all</a><br /><a id="CheckNone" href="#">Uncheck all</a></th>
[% ELSE %]
<th></th>
[% END %]
</tr>
[% FOREACH lateorder IN lateorders %]
[% UNLESS ( loop.odd ) %]<tr class="highlight">
[% ELSE %]<tr>[% END %]
<td>
([% lateorder.supplierid %])
[% lateorder.orderdate %]
([% lateorder.latesince %] days)
</td>
<td>
[% IF ( lateorder.estimateddeliverydate ) %]
[% lateorder.estimateddeliverydate | $KohaDates %]
[% END %]
</td>
<td>
[% lateorder.supplier %]
</td>
<td>
<b>[% lateorder.title |html %]</b>
[% IF ( lateorder.author ) %]<br/><i>Author:</i> [% lateorder.author %][% END %]
[% IF ( lateorder.publisher ) %]
<br/><i>Published by:</i> [% lateorder.publisher %]
[% IF ( lateorder.publicationyear ) %]
<i> in </i>[% lateorder.publicationyear %]
[% END %]
[% END %]
</td>
<td>
[% lateorder.unitpricesupplier %]x[% lateorder.quantity %] =
[% lateorder.subtotal %]
<p title="budget">[% lateorder.budget %]</p>
</td>
<td>
<p><a href="basket.pl?basketno=[% lateorder.basketno %]" title="basket">
[% lateorder.basketno %]
</a>
</p>
<p title="branch">[% lateorder.branch %]</p>
</td>
<td>[% lateorder.claims_count %]</td>
<td>[% lateorder.claimed_date %]</td>
<td>
[% UNLESS lateorder.budget_lock %]
<input type="checkbox" class="checkbox" name="claim_for" value="[% lateorder.ordernumber %]" booksellerid="[% lateorder.supplierid %]"/>
[% END %]
</td>
</td>
</tr>
[% END %]
<tr>
<th>Total</th>
<th colspan="3">&nbsp;</th>
<th>[% total %]</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<td>
<input type="submit" value="Claim Order" />
</td>
</tr>
</table>
</form>
[% ELSE %]<p>There are no late orders.</p>
[% END %]
</div>
</div>
</div>
<div class="yui-b">
<form action="lateorders.pl" method="get">
<fieldset class="brief">
<h4>Filter Results:</h4>
[% FOREACH ERROR_LOO IN ERROR_LOOP %]
[% IF ( ERROR_LOO.delay_digits ) %]<p class="error">The number of days ([% ERROR_LOO.bad_delay %]) must be a number between 0 and 999.</p>[% END %]
[% END %]
<ol>
<li><label for="delay">Order date:</label><input size="3" maxlength="3" id="delay" type="text" name="delay" value="[% delay %]" /> days ago</li>
<li><label for="delay">Estimated Delivery date from: </label>
<input type="text" size="10" id="estimateddeliverydatefrom" name="estimateddeliverydatefrom" value="[% estimateddeliverydatefrom %]" />
<img src="[% themelang %]/lib/calendar/cal.gif" id="openCalendarFrom" style="cursor: pointer;" alt="Show Calendar" />
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li><label for="delay">To: </label>
<input type="text" size="10" id="estimateddeliverydateto" name="estimateddeliverydateto" value="[% estimateddeliverydateto %]" />
<img src="[% themelang %]/lib/calendar/cal.gif" id="openCalendarTo" style="cursor: pointer;" alt="Show Calendar" />
<script type="text/javascript">
// return true if the date is blocked.
function disable_from(date) {var limit = get_Calendar_limit(date,'estimateddeliverydatefrom'); return (limit && limit < date);}
function disable_to(date) {var limit = get_Calendar_limit(date,'estimateddeliverydateto'); return (limit && limit < date);}
Calendar.setup({
inputField : "estimateddeliverydatefrom",
ifFormat : "[% DHTMLcalendar_dateformat %]",
button : "openCalendarFrom",
disableFunc : disable_from,
dateStatusFunc : disable_from
});
Calendar.setup({
inputField : "estimateddeliverydateto",
ifFormat : "[% DHTMLcalendar_dateformat %]",
button : "openCalendarTo",
disableFunc : disable_to,
dateStatusFunc : disable_to
});
</script>
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
</li>
<li><label for="booksellerid">Vendor:</label>
<select id="booksellerid" size="1" tabindex="" name="booksellerid">
<option value=""/>
[% FOREACH SUPPLIER_LOO IN SUPPLIER_LOOP %]
[% IF ( SUPPLIER_LOO.selected ) %]<option value="[% SUPPLIER_LOO.id %]" selected="selected">[% SUPPLIER_LOO.name %]</option>
[% ELSE %]<option value="[% SUPPLIER_LOO.id %]">[% SUPPLIER_LOO.name %]</option>[% END %]
[% END %]
</select>
</ol>
<fieldset class="action"><input type="submit" value="filter" /></fieldset>
</fieldset>
</form>
[% INCLUDE 'acquisitions-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]