Koha/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tmpl
Galen Charlton 684cea4309 bug 3049: display correct due date of renewed loans
The intranet item display provided by moredetail.pl
would display the original due date of the item, and
would thus be incorrect if the item had been renewed
and got a different due date.

The incorrect date was coming from items.onloan,
which AddIssue() sets to the due date.  This patch
fixes the bug in two ways:

[1] AddRenewal() now updates items.onloan with the
    correct due date.
[2] Two templates were updated to display the
    due date from (indirectly) issues.date_due
    instead of items.onloan, thus making it less
    likely that the wrong value will be displayed.

This patch does *not* update items.onloan to reflect
the correct due date.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-08 14:51:32 -05:00

452 lines
19 KiB
Cheetah

<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
<title>Koha &rsaquo; Circulation &rsaquo; Holds &rsaquo; Place a hold on <!-- TMPL_VAR NAME="title" escape="html" --></title>
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<script type="text/javascript">
// <![CDATA[
var patron_homebranch = "<!-- TMPL_VAR NAME="borrower_branchname" ESCAPE="JS" -->";
var override_items = {<!-- TMPL_LOOP NAME="bibitemloop" --><!-- TMPL_LOOP NAME="itemloop" --><!-- TMPL_IF NAME="override" -->
<!-- TMPL_VAR NAME="itemnumber" -->: {
homebranch: "<!-- TMPL_VAR NAME="homebranchname" ESCAPE="JS" -->",
holdallowed: <!-- TMPL_VAR NAME="holdallowed" -->
},
<!-- /TMPL_IF --><!-- /TMPL_LOOP --><!-- /TMPL_LOOP -->
};
function check() {
var msg = "";
var count_reserv = 0;
var alreadyreserved = 0;
// check if we have checkitem form
if (document.form.checkitem){
for (i=0;i<document.form.checkitem.length;i++){
if (document.form.checkitem[i].checked == true) {
count_reserv++ ;
}
}
// for only one item, check the checkitem without consider the loop checkitem
if (i==0){
if (document.form.checkitem.checked == true) {
count_reserv++;
}
}
}
if (document.form.request.checked == true){
count_reserv++ ;
}
if (document.form.alreadyreserved.value == "1"){
alreadyreserved++ ;
}
if (count_reserv == "0"){
msg += (_("- Please select an item to place a hold\n"));
}
if (count_reserv >= "2"){
msg += (_("- You may only place a hold on one item at a time\n"));
}
if (alreadyreserved > "0"){
msg += (_("- This patron had already placed a hold on this item\n Please cancel the previous hold first \n"));
}
if (msg == "") return(true);
else {
alert(msg);
return(false);
}
}
$(document).ready(function() {
$("input.needsoverride").click(function() { // This must be before the radio button/checkbox switch logic
var itemnumber = this.value;
var msg;
switch (override_items[itemnumber].holdallowed) {
case 0: msg = _( 'This item normally cannot be put on hold.' ); break;
case 1: msg = _( 'This item normally cannot be put on hold except for patrons from ' ) + override_items[itemnumber].homebranch + '.'; break;
}
msg += "\n\n" + _( 'Place hold on this item?' );
return confirm(msg);
});
$("input.warning").click(function() {
return confirm( _( 'None of these items can normally be put on hold for this patron.' ) + "\n\n" + _( 'Place hold?' ) );
});
$("#requestany").click(function() {
if(this.checked){
$("input[@name=checkitem]").each(function() {
$(this).attr("checked","");
});
}
});
$("input[@name=checkitem]").click(function() {
onechecked = 0;
$("input[@name=checkitem]").each(function() {
if(this.checked){
onechecked = 1;
}
});
if(onechecked == 1){
$("#requestany").attr("checked","");
} else {
$("#requestany").attr("checked","checked");
}
});
});
// ]]>
</script>
</head>
<body>
<!-- TMPL_INCLUDE NAME="header.inc" -->
<!-- TMPL_INCLUDE NAME="circ-search.inc" -->
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> &rsaquo; <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a> &rsaquo; Place a hold on <!-- TMPL_VAR NAME="title" escape="html" --></div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<!-- TMPL_IF NAME="noitems" -->
<div class="dialog alert">
<strong>Cannot reserve:</strong> this record has no items attached.
</div>
<!-- TMPL_ELSE -->
<!-- TMPL_IF NAME="messagetransfert" -->
<div class="dialog message">
<h2>Hold found for (<!-- TMPL_VAR NAME="nextreservtitle" -->), please transfer</h2>
<p>Hold placed by : <strong> <!-- TMPL_VAR NAME="nextreservsurname" --> <!-- TMPL_VAR NAME="nextreservfirstname" --></strong> at : <strong> <!-- TMPL_VAR NAME="branchname" --> </strong>, Please transfer this item.
</p>
<form name="cancelReservewithtransfert" action="branchreserves.pl" method="post">
<input type="submit" class="button" />
</form>
</div>
<!-- /TMPL_IF -->
<h1>Place a hold on <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a></h1>
<!-- TMPL_UNLESS NAME="cardnumber"-->
<!-- TMPL_IF NAME="messageborrower" -->
<div class="dialog alert"><h3>Patron Not Found</h3><p>No patron with this name, Please, try another</p> </div>
<!-- /TMPL_IF -->
<form action="request.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->" method="post">
<!-- TMPL_UNLESS name="CGIselectborrower" -->
<fieldset class="brief">
<label for="patron">Patron: </label>
<div class="hint">Enter patron card number or partial name:</div>
<input type="text" size="20" id="patron" class="focus" name="findborrower" />
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber"-->" />
<input type="submit" value="Search" />
</fieldset>
<!-- TMPL_ELSE -->
<fieldset>
<!-- TMPL_VAR NAME="CGIselectborrower" -->
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber"-->" /><fieldset class="action"><input type="submit" value="Select" /></fieldset></fieldset>
<!-- /TMPL_UNLESS -->
</form>
<!-- TMPL_ELSE -->
<!-- TMPL_IF NAME="warnings" -->
<div class="dialog alert">
<h3>Cannot Place Hold</h3>
<ul>
<!-- TMPL_IF NAME="maxreserves" -->
<li><strong>Too Many Holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="borrowerfirstname" --> <!-- TMPL_VAR NAME="borrowersurname" --> </a> has too many holds.</li>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="alreadyreserved" -->
<li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="borrowerfirstname" --> <!-- TMPL_VAR NAME="borrowersurname" --></a> <strong>already has a hold</strong> on this item </li>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="none_available" -->
<li> <strong>No copies are available</strong> to be placed on hold</li>
<!-- /TMPL_IF -->
</ul></div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="messages" -->
<div class="dialog message"><ul>
<!-- TMPL_IF NAME="expiry" -->
<li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="borrowerfirstname" --> <!-- TMPL_VAR NAME="borrowersurname" --></a>'s <strong>account has expired</strong></li>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="diffbranch" -->
<li> <strong>Pickup library is different</strong> than <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="borrowerfirstname" --> <!-- TMPL_VAR NAME="borrowersurname" --></a>'s home library (<!-- TMPL_VAR NAME="borrower_branchname" --> / <!-- TMPL_VAR NAME="borrower_branchcode" --> )</li>
<!-- /TMPL_IF -->
</ul></div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="messageborrower" -->
<div class="dialog alert"><h3>Patron not found:</h3> <p>Name or barcode not found. Please try an other </p></div>
<!-- /TMPL_IF -->
<fieldset class="rows left">
<legend>Hold details</legend>
<form action="placerequest.pl" method="post" onsubmit="return check();" name="form">
<input type="hidden" size="10" name="member" value="<!-- TMPL_VAR NAME="cardnumber" -->" />
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
<input type="hidden" name="type" value="str8" />
<input type="hidden" name="title" value="<!-- TMPL_VAR NAME="title" -->" />
<input type="hidden" name="rank-request" value="<!-- TMPL_VAR NAME="fixedRank" -->" />
<ol> <li><span class="label">Patron:</span>
<!-- TMPL_IF NAME="cardnumber"-->
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="borrowerfirstname" --> <!-- TMPL_VAR NAME="borrowersurname" --> (<!-- TMPL_VAR NAME="cardnumber" -->)</a>
<!-- TMPL_ELSE -->
Not defined yet
<!-- /TMPL_IF -->
</li>
<li>
<span class="label">Priority:</span>
<strong><!-- TMPL_VAR Name="fixedRank" --></strong>
</li>
<li>
<label for="holdnotes">Notes:</label>
<textarea id="holdnotes" name="notes" cols="30" rows="1"></textarea>
</li>
<li>
<label for="pickup">Pickup at:</label>
<!-- TMPL_VAR NAME="CGIbranch" -->
</li>
<li> <label for="requestany">Place a hold on the next available copy </label>
<input type="checkbox" id="requestany" name="request" checked="checked" value="Any" />
<input type="hidden" name="biblioitem" value="<!-- TMPL_VAR NAME="biblioitemnumber" -->" />
<input type="hidden" name="alreadyreserved" value="<!-- TMPL_VAR NAME="alreadyreserved" -->" />
</li>
</ol>
<fieldset class="action">
<!-- TMPL_IF NAME="cardnumber"-->
<!-- TMPL_IF NAME="override_required" -->
<input type="submit" class="warning" value="Place Hold" />
<!-- TMPL_ELSIF NAME="none_available" -->
<input type="submit" disabled="disabled" value="Place Hold" />
<!-- TMPL_ELSE -->
<input type="submit" value="Place Hold" />
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</fieldset>
<!-- TMPL_LOOP name="bibitemloop" -->
<ol>
<!-- TMPL_UNLESS NAME="item-level_itypes" -->
<li><span class="label">Item type:</span> <!-- TMPL_VAR NAME="description" --></li>
<!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="publicationyear" --><li><span class="label">Publication year:</span> <!-- TMPL_VAR NAME="publicationyear" --></li><!-- /TMPL_IF -->
</ol>
<table id="requestspecific">
<caption>Place a hold on a specific copy</caption>
<tr>
<th>Hold</th>
<!-- TMPL_IF NAME="item-level_itypes" -->
<th>Item type</th>
<!-- /TMPL_IF -->
<th>Barcode</th>
<th>Home Library</th>
<th>Last Location</th>
<th>Call no.</th>
<th>Copy no.</th>
<th>Information</th>
</tr>
<!-- TMPL_LOOP Name="itemloop" -->
<tr class="<!-- TMPL_VAR NAME="backgroundcolor" -->">
<td>
<!-- TMPL_IF NAME="available" -->
<input type="radio" name="checkitem" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
<!-- TMPL_ELSIF NAME="override" -->
<input type="radio" name="checkitem" class="needsoverride" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
<img src="/intranet-tmpl/<!-- TMPL_VAR NAME="theme" -->/img/famfamfam/silk/error.png" alt="Requires override of hold policy" />
<!-- TMPL_ELSE -->
<input disabled="disabled" type="radio" name="checkitem" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
<img src="/intranet-tmpl/<!-- TMPL_VAR NAME="theme" -->/img/famfamfam/silk/cross.png" alt="Cannot be put on hold" />
<!-- /TMPL_IF -->
</td>
<!-- TMPL_IF NAME="item-level_itypes" -->
<td>
<img src="<!-- TMPL_VAR name="imageurl" -->" alt="<!-- TMPL_VAR NAME="itypename" -->" title="<!-- TMPL_VAR NAME="itypename" -->" />
</td>
<!-- /TMPL_IF -->
<td>
<!-- TMPL_VAR NAME="barcode" -->
</td>
<td>
<!-- TMPL_VAR NAME="homebranchname" -->
</td>
<td>
<!-- TMPL_VAR NAME="holdingbranchname" -->
</td>
<td>
<!-- TMPL_VAR NAME="itemcallnumber" -->
</td>
<td><!-- TMPL_IF NAME="copynumber" --><!-- TMPL_VAR NAME="copynumber" --><!-- TMPL_ELSE -->&nbsp;<!-- /TMPL_IF --></td>
<td>
<!-- TMPL_IF Name="onloan" -->
<span class="checkedout">Due <!-- TMPL_VAR NAME="date_due" --></span>
<!-- TMPL_ELSE -->
<!-- TMPL_IF Name="transfertwhen" -->
In transit from <!-- TMPL_VAR NAME="transfertfrom" -->,
to <!-- TMPL_VAR NAME="transfertto" -->, since <!-- TMPL_VAR NAME="transfertwhen" -->
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- TMPL_IF Name="message" -->
Unavailable (lost or missing)
<!-- /TMPL_IF -->
<!-- TMPL_IF Name="notforloan" -->
Not for loan (<!-- TMPL_VAR NAME="notforloanvalue" -->)
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="reservedate"-->
<!-- TMPL_IF NAME="nocancel" -->
Can't be cancelled when item is in transit
<!-- TMPL_ELSE -->
<!-- TMPL_IF NAME="waitingdate" -->Waiting<!-- TMPL_ELSE -->On hold<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="canreservefromotherbranches" -->for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="ReservedForBorrowernumber" -->"><!-- TMPL_VAR NAME="ReservedForFirstname" --> <!-- TMPL_VAR NAME="ReservedForSurname" --></a><!-- /TMPL_IF --> <!-- TMPL_IF NAME="waitingdate" -->at<!-- TMPL_ELSE -->expected at<!-- /TMPL_IF --> <!-- TMPL_VAR NAME="ExpectedAtLibrary" -->
since
<!-- TMPL_IF NAME="waitingdate" --><!-- TMPL_VAR NAME="waitingdate" --><!-- TMPL_ELSE --><!-- TMPL_IF name="reservedate" --><!-- TMPL_VAR NAME="reservedate" --><!-- /TMPL_IF --><!-- /TMPL_IF -->. <a class="info" href="modrequest.pl?CancelBiblioNumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;CancelBorrowerNumber=<!-- TMPL_VAR NAME="ReservedForBorrowernumber" -->&amp;CancelItemnumber=<!-- TMPL_VAR NAME="itemnumber"-->" onclick="if (window.confirm('Are you sure you want to delete this hold?')) {return true;} else {return false;}">Cancel hold</a>
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
Not on hold
<!-- /TMPL_IF -->
</td>
</tr>
<!-- /TMPL_LOOP --> <!-- itemloop -->
</table>
<!-- /TMPL_LOOP --> <!-- bibitemloop -->
<fieldset class="action">
<!-- TMPL_IF NAME="cardnumber"-->
<!-- TMPL_IF NAME="override_required" -->
<input type="submit" class="warning" value="Place Hold" />
<!-- TMPL_ELSIF NAME="none_available" -->
<input type="submit" disabled="disabled" value="Place Hold" />
<!-- TMPL_ELSE -->
<input type="submit" value="Place Hold" />
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</fieldset>
</fieldset>
</form>
<!-- /TMPL_UNLESS -->
<!-- TMPL_UNLESS NAME="cardnumber" -->
<!-- TMPL_IF name="reserveloop" -->
<form name="T<!-- TMPL_VAR NAME="time" -->" action="modrequest.pl" method="post">
<fieldset class="rows left">
<legend>Existing holds</legend>
<table>
<tr>
<th>Priority</th>
<th>Patron</th>
<th>Notes</th>
<th>Date</th>
<th>Pick up Library</th>
<th>Details</th>
</tr>
<!-- TMPL_LOOP Name="reserveloop" -->
<tr>
<td>
<input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="borrowernumber" -->" />
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->" />
<select name="rank-request">
<!-- TMPL_IF Name="wait" -->
<option value="W" selected="selected">Waiting</option>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP Name="optionloop" -->
<!-- TMPL_IF Name="selected" --><option value="<!-- TMPL_VAR NAME="num" -->" selected="selected"><!-- TMPL_VAR NAME="num" --></option><!-- TMPL_ELSE --><option value="<!-- TMPL_VAR NAME="num" -->"><!-- TMPL_VAR NAME="num" --></option><!-- /TMPL_IF -->
<!-- /TMPL_LOOP -->
<option value="del">del</option>
</select>
</td>
<td>
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->" ><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --></a>
</td>
<td><!-- TMPL_VAR NAME="notes" --></td>
<td><!-- TMPL_VAR NAME="date" --></td>
<td>
<!-- TMPL_IF Name="wait" -->
<!-- TMPL_IF NAME="atdestination" -->
<!-- TMPL_IF name="found" -->
Item waiting at <b> <!-- TMPL_VAR NAME="wbrname" --></b> <input type="hidden" name="pickup" value="<!-- TMPL_VAR NAME="wbrcode" -->" />
<!-- TMPL_ELSE -->
Waiting to be pulled
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
Item being transfered to <b> <!-- TMPL_VAR NAME="wbrname" --></b> <input type="hidden" name="pickup" value="<!-- TMPL_VAR NAME="wbrcode" -->" />
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
<select name="pickup">
<!-- TMPL_LOOP Name="branchloop" -->
<!-- TMPL_IF Name="selected" -->
<option value="<!-- TMPL_VAR NAME="branch" -->" selected="selected">
<!-- TMPL_ELSE -->
<option value="<!-- TMPL_VAR NAME="branch" -->">
<!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="branchname" -->
</option>
<!-- /TMPL_LOOP -->
</select>
<!-- /TMPL_IF -->
</td>
<td>
<!-- TMPL_IF Name="wait" -->
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME='biblionumber' -->">
<!-- TMPL_IF NAME="barcodenumber" -->
<!-- TMPL_VAR NAME="barcodenumber" -->
<input type="hidden" name="itemnumber" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
<!-- TMPL_ELSE -->
No Barcode
<!-- /TMPL_IF -->
</a>
<!-- TMPL_ELSE -->
<!-- TMPL_IF Name="constrainttypea" -->
<!-- TMPL_IF Name="item_level_hold" -->
<i>Only item
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME='biblionumber' -->">
<!-- TMPL_IF NAME="barcodenumber" -->
<!-- TMPL_VAR NAME="barcodenumber" -->
<input type="hidden" name="itemnumber" value="<!-- TMPL_VAR NAME="itemnumber" -->" />
<!-- TMPL_ELSE -->
No Barcode
<!-- /TMPL_IF -->
</a>
</i>
<!-- TMPL_ELSE -->
<i>Next available</i>
<input type="hidden" name="itemnumber" value="" />
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
<!-- TMPL_IF Name="constrainttypeo" -->
only this type :<b><!-- TMPL_VAR NAME="volumeddesc" --> <!-- TMPL_VAR NAME="itemtype" --></b>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</td>
</tr>
<!-- /TMPL_LOOP --> <!-- existing reserveloop -->
</table>
<fieldset class="action"><input type="submit" name="submit" value="Update hold(s)" /></fieldset>
</fieldset>
</form>
<!-- /TMPL_IF -->
<!-- /TMPL_UNLESS -->
<!-- /TMPL_IF -->
</div>
</div>
<div class="yui-b">
<!-- TMPL_INCLUDE NAME="biblio-view-menu.inc" -->
</div>
</div>
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->