Koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
Holger Meißner 065926d224 Bug 7413: Code and intranet template changes
This patch modifies CanBookBeRenewed, so that based on
issuingrules.norenewalbefore a new error "too_soon" can be returned.
Also adds a new subroutine GetSoonestRenewDate.

To test:
1) Create an issuing rule with "No renewal before" set to value X
   and "Unit" set to days.
2) Test the following steps for both:
   Home > Patron > Patron details
   Home > Circulation > Checkouts
3) On the checkout page, test for today's issues as well as previous
   issues. (Check something out on one day and something else on the
   next day, then do the testing.)
4) Confirm that items can't be renewed if current date is more than
   X days before due date.
5) Confirm that the date and time of the soonest possible renewal are
   displayed in the format specified by global sysprefs "dateformat"
   and "TimeFormat".
6) Confirm that items can be renewed if "No renewal before" is
   undefined or current date is X or less days before due date.
7) Confirm that if the number of allowed renewals is exceeded
   "Not renewable" is displayed, no matter what "No renewal before"
   is set to.
8) Test the same things with "Unit" set to hours.

Sponsored-by: Hochschule für Gesundheit (hsg), Germany
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
2014-04-07 18:28:57 +00:00

715 lines
33 KiB
Text

[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Patrons &rsaquo;
[% IF ( unknowuser ) %]
Patron does not exist
[% ELSE %]
Patron details for [% INCLUDE 'patron-title.inc' %]
[% END %]
</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery-ui-timepicker-addon.min.js"></script>
[% INCLUDE 'timepicker.inc' %]
<script type="text/JavaScript">
//<![CDATA[
$(document).ready(function() {
$('#finesholdsissues').tabs({
// Correct table sizing for tables hidden in tabs
// http://www.datatables.net/examples/api/tabs_and_scrolling.html
"show": function(event, ui) {
var oTable = $('div.dataTables_wrapper>table', ui.panel).dataTable();
if ( oTable.length > 0 ) {
oTable.fnAdjustColumnSizing();
}
}
} );
$("#issuest").dataTable($.extend(true, {}, dataTablesDefaults, {
"sDom": 't',
"aoColumnDefs": [
{ "aTargets": [ -1,-2 ], "bSortable": false, "bSearchable": false }
],
"aoColumns": [
{ "sType": "title-string" },{ "sType": "anti-the" },null,{ "sType": "title-string" },null,null,null,null,null,null
],
"bPaginate": false
}));
$("#relissuest").dataTable($.extend(true, {}, dataTablesDefaults, {
"sDom": 't',
"aoColumns": [
{ "sType": "title-string" },{ "sType": "anti-the" },null,{ "sType": "title-string" },null,null,null,null,null
],
"bPaginate": false
}));
$("#holdst").dataTable($.extend(true, {}, dataTablesDefaults, {
"sDom": 't',
"aoColumnDefs": [
{ "aTargets": [ -1,-2 ], "bSortable": false, "bSearchable": false }
],
"aoColumns": [
{ "sType": "title-string" },{ "sType": "anti-the" },null,null,null,null,null,null
],
"bPaginate": false
}));
[% IF ( picture ) %]
// new YAHOO.widget.Button("delpicture"); // FIXME: formatting mismatch between YUI and normal button
$('#delpicture').click(function(){
return confirm(_("Are you sure you want to delete this patron image? This cannot be undone."));
});
$('#manage-patron-image').find("input[value*=Upload]").click(function(){
if($("#uploadfile").val() == ""){
alert(_("Please choose a file to upload"));
return false;
}
return confirm(_("Are you sure you want to replace the current patron image? This cannot be undone."));
});[% END %]
$("#renew_all" ).click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=items]" ); $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); });
$("#CheckAllitems" ).click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=items]" ); $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); return false; });
$("#CheckNoitems" ).click(function(){ $(".checkboxed").unCheckCheckboxes(":input[name*=items]"); return false; });
$("#CheckAllreturns").click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=barcodes]"); $(".checkboxed").unCheckCheckboxes(":input[name*=items]"); return false; });
$("#CheckNoreturns" ).click(function(){ $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); return false; });
$("#relrenew_all" ).click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=items]" ); $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); });
$("#relCheckAllitems" ).click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=items]" ); $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); return false; });
$("#relCheckNoitems" ).click(function(){ $(".checkboxed").unCheckCheckboxes(":input[name*=items]"); return false; });
$("#relCheckAllreturns").click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=barcodes]"); $(".checkboxed").unCheckCheckboxes(":input[name*=items]"); return false; });
$("#relCheckNoreturns" ).click(function(){ $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); return false; });
[% IF ( CAN_user_circulate_override_renewals ) %]
[% IF ( AllowRenewalLimitOverride ) %]
$( '#override_limit' ).click( function () {
if ( this.checked ) {
$( '.renewals-allowed' ).show(); $( '.renewals-disabled' ).hide();
} else {
$( '.renewals-allowed' ).hide(); $( '.renewals-disabled' ).show();
}
} ).attr( 'checked', false );
[% END %]
[% END %]
$("td").click(function(e){
if(e.target.tagName.toLowerCase() == 'td'){
$(this).find("input:checkbox").each( function() {
$(this).attr('checked', !$(this).attr('checked'));
if($(this).attr('checked')){
$(this).parent().siblings().find("input:checkbox").each(function(){
if($(this).attr('checked')){ $(this).removeAttr('checked'); }
});
}
});
}
});
$("#suspend_until").datepicker({ minDate: 1 }); // require that hold suspended until date is after today
$("#newduedate").datetimepicker({
minDate: 1, // require that renewal date is after today
hour: 23,
minute: 59
});
});
function uncheck_sibling(me){
nodename=me.getAttribute("name");
if (nodename =="barcodes[]"){
var Node=me.parentNode.previousSibling;
while (Node.nodeName!="TD"){Node=Node.previousSibling}
var Nodes=Node.childNodes;
for (var i=0;i < Nodes.length;i++){
if (Nodes[i].nodeName=="INPUT" && Nodes[i].getAttribute("type")=="checkbox"){
Nodes[i].checked=false;
}
}
}else {
var Node=me.parentNode.nextSibling;
while (Node.nodeName!="TD"){Node=Node.nextSibling}
var Nodes=Node.childNodes;
for (var i=0;i<Nodes.length;i++){
if (Nodes[i].nodeName=="INPUT" && Nodes[i].getAttribute("type")=="checkbox"){
Nodes[i].checked=false;
}
}
}
}
function validate1(date) {
var today = new Date();
if ( date < today ) {
return true;
} else {
return false;
}
};
//]]>
</script>
</head>
<body id="pat_moremember" class="pat">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'patron-search.inc' %]
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
&rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
&rsaquo; [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Patron details for [% INCLUDE 'patron-title.inc' %][% END %]
</div>
<div id="doc3" class="yui-t1">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% INCLUDE 'members-toolbar.inc' %]
[% IF ( error ) %]
<div class="dialog alert">
[% IF ( AUTH_UPDATE_FAILED ) %]
<h3>Userid / Password update failed</h3>
<strong>Insufficient privileges.</strong>
<p>Other fields updated.</p>
[% END %]
[% IF ( CANT_DELETE_STAFF ) %]
<h3>Unable to delete staff user</h3>
<p>Insufficient privileges.</p>
[% END %]
[% IF ( CANT_DELETE_OTHERLIBRARY ) %]
<h3>Unable to delete patrons from other libraries with current settings</h3>
<p>Insufficient privileges.</p>
[% END %]
[% IF ( CANT_DELETE ) %]
<h3>Unable to delete patron</h3>
<p>Insufficient privileges.</p>
[% END %]
</div>
[% END %]
<div class="yui-g">
[% IF ( unknowuser ) %]
<div class="dialog message">This patron does not exist.</div>
[% ELSE %]
[% IF ( was_renewed ) %]<div class="dialog message">Patron's account has been renewed until [% dateexpiry %]</div>[% END %]
[% IF ( flagged ) %]
<div id="circmessages" class="circmessage attention">
<ul>
[% IF ( userdebarred ) %]
<li class="blocker">Patron is restricted[% IF ( userdebarreddate ) %] until [% userdebarreddate%] [% IF (debarredcomment ) %]([% debarredcomment %])[% END %][% END %]
<a href="#reldebarments" onclick="$('#debarments-tab-link').click()">View restrictions</a>
</li>
[% END %]
[% IF ( gonenoaddress ) %]<li class="blocker">Patron's address is in doubt.</li>[% END %]
[% IF ( lost ) %]<li class="blocker">Patron's card has been reported lost.</li>[% END %]
</ul>
</div>
[% END %]
<h3>[% UNLESS ( I ) %]
[% title %] [% firstname %] [% END %] [% surname %] ([% cardnumber %])</h3>
<div class="yui-u first">
<div id="patron-information" style="padding : .5em;">
[% UNLESS ( I ) %][% IF ( othernames ) %]&ldquo;[% othernames %]&rdquo;[% END %]
<p class="address">[% streetnumber %]
[% IF roadtype %][% roadtype %][% END %]
[% address %]<br />
[% IF ( address2 ) %][% address2 %]<br />[% END %]
[% IF ( city ) %][% city %][% END %]
[% IF ( state ) %][% state %][% END %]
[% IF ( zipcode ) %][% zipcode %]<br />[% END %]
[% IF ( country ) %][% country %][% END %]</p>
<div class="rows">
<ol>
[% IF ( I ) %]
[% IF ( phonepro ) %]<li><span class="label">Organization phone: </span>[% phonepro %]</li>[% END %]
[% IF ( emailpro ) %]<li><span class="label">Organization email: </span>[% emailpro %]</li>[% END %]
[% ELSE %]
[% IF ( phone ) %]<li><span class="label">Primary phone: </span>[% phone %]</li>[% END %]
[% IF ( mobile ) %]<li><span class="label">Secondary phone: </span>[% mobile %]</li>[% END %]
[% IF ( phonepro ) %]<li><span class="label">Other phone: </span>[% phonepro %]</li>[% END %]
[% END %]
[% IF ( P ) %]
[% IF ( phone ) %]<li><span class="label">Primary phone: </span>[% phone %]</li>[% END %]
[% IF ( mobile ) %]<li><span class="label">Secondary phone: </span>[% mobile %]</li>[% END %]
[% END %]
[% IF ( fax ) %]<li><span class="label">Fax: </span>[% fax %]</li>[% END %]
[% UNLESS ( I ) %]
[% IF ( email ) %]<li><span class="label">Primary email:</span><a href="mailto:[% email %]">[% email %]</a></li>[% END %]
[% IF ( emailpro ) %]<li><span class="label">Secondary email: </span><a href="mailto:[% emailpro %]">[% emailpro %]</a></li>[% END %]
[% END %]
[% IF ( initials ) %]<li><span class="label">Initials: </span>[% initials %]</li>[% END %]
[% IF ( dateofbirth ) %]<li><span class="label">Date of birth:</span>[% dateofbirth %]</li>[% END %]
[% IF ( sex ) %]<li><span class="label">Gender:</span>
[% IF ( sex == 'F' ) %]Female[% ELSIF ( sex == 'M' ) %]Male[% ELSE %][% sex %][% END %]
</li>[% END %][% END %]
[% IF ( printethnicityline ) %]
<li><span class="label">Ethnicity:</span>[% ethnicity %]</li>
<li><span class="label">Ethnicity notes: </span>[% ethnotes %]</li>
[% END %]
[% IF ( isguarantee ) %]
[% IF ( guaranteeloop ) %]
<li><span class="label">Guarantees:</span><ul>[% FOREACH guaranteeloo IN guaranteeloop %]<li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guaranteeloo.borrowernumber %]">[% guaranteeloo.name %] </a></li>[% END %]</ul></li>
[% END %]
[% ELSE %]
[% IF ( guarantorborrowernumber ) %]
<li><span class="label">Guarantor:</span><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guarantorborrowernumber %]">[% guarantorsurname %], [% guarantorfirstname %]</a></li>
[% END %]
[% END %]
</ol>
</div>
<div class="action">
[% IF ( guarantorborrowernumber ) %]
<a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=1&amp;guarantorid=[% guarantorborrowernumber %]">Edit</a>
[% ELSE %]
<a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=1">Edit</a>
[% END %]</div>
</div>
<!-- Begin Upload Patron Image Section -->
<div id="manage-patron-image">
[% IF ( patronimages ) %]
[% IF ( CAN_user_tools_batch_upload_patron_images ) %]
<form method="post" action="/cgi-bin/koha/tools/picture-upload.pl" enctype="multipart/form-data">
<fieldset class="brief">
[% IF ( picture ) %]
<legend>Manage Patron Image</legend>
<div class="hint">To update the image for [% title %] [% surname %], select a new image file and click 'Upload.' <br />Click the 'Delete' button to remove the current image.
[% ELSE %]
<legend>Upload Patron Image</legend>
<div class="hint">[% title %] [% firstname %] [% surname %] does not currently have an image available. To import an image for [% title %] [% surname %], enter the name of an image file to upload.
[% END %]
<br />Only PNG, GIF, JPEG, XPM formats are supported.
</div>
<input type="hidden" id="image" name="filetype" value="image" />
<input type="hidden" id="cardnumber" name="cardnumber" value="[% cardnumber %]" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<ol>
<li>
<label for="uploadfile">Select the file to upload: </label><input type="file" id="uploadfile" name="uploadfile" />
</li>
</ol>
<fieldset class="action">
<input type="submit" value="Upload" class="submit" />
<input name="op" type="hidden" value="Upload" />
[% IF ( picture ) %]<a id="delpicture" href="/cgi-bin/koha/tools/picture-upload.pl?op=Delete&amp;cardnumber=[% cardnumber %]&amp;borrowernumber=[% borrowernumber %]" class="delete">Delete</a>[% END %]
</fieldset>
</fieldset>
</form>
[% END %]
[% END %]
</div>
<!-- End Upload Patron Image Section -->
[% IF ( ExtendedPatronAttributes ) %]
[% UNLESS ( no_patron_attribute_types ) %]
<div id="patron-extended-attributes" style="padding-top: 1em;">
<h3>Additional attributes and identifiers</h3>
[% FOREACH attribute IN attributes_loop %]
[% IF attribute.class %]
<div id="aai_[% attribute.class %]" class="rows">
[% ELSE %]
<div id="aai" class="rows">
[% END %]
<h4>[% attribute.lib %]</h4>
<ol>
[% FOREACH item IN attribute.items %]
<li>
<span class="label">[% item.description %]: </span>
[% IF ( item.value_description ) %]
[% item.value_description %]
[% ELSE %]
[% item.value| html_line_break %]
[% END %]
</li>
[% END %]
</ol>
</div>
[% END %]
</div>
<div class="action"><a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=4">Edit</a></div>
[% END %]
[% END %]
[% IF ( EnhancedMessagingPreferences ) %]
<div id="patron-messaging-prefs" style="padding-top: 1em;">
<h3>Patron messaging preferences</h3>
[% INCLUDE 'messaging-preference-form.inc' %]
[% IF ( SMSSendDriver ) %]
<div class="rows"> <ol><li><span class="label">SMS number:</span>[% SMSnumber %]
</li></ol></div>
[% END %]
</div>
<div class="action"><a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=5">Edit</a></div>
[% END %]
</div>
<div class="yui-u">
<div id="patron-library-details">
<h3>Library use</h3>
<div class="rows">
<ol>
<li><span class="label">Card number: </span>[% cardnumber %]</li>
<li><span class="label">Borrowernumber: </span> [% borrowernumber %]</li>
<li><span class="label">Category: </span>[% description %] ([% categorycode %])</li>
<li><span class="label">Registration date: </span>[% dateenrolled %]</li>
<li><span class="label">Expiration date: </span>
[% IF ( was_renewed ) %]
<strong class="reregistrinfo">[% dateexpiry %]</strong>
[% ELSE %]
[% dateexpiry %]
[% END %]
</li>
<li><span class="label">Library: </span>[% branchname %]</li>
[% IF ( OPACPrivacy ) %]<li><span class="label">Privacy Pref:</span>
[% IF ( privacy0 ) %]Forever[% END %]
[% IF ( privacy1 ) %]Default[% END %]
[% IF ( privacy2 ) %]Never[% END %]
</li>[% END %]
[% IF ( sort1 ) %]<li><span class="label">Sort field 1:</span>[% lib1 %]</li>[% END %]
[% IF ( sort2 ) %]<li><span class="label">Sort field 2:</span>[% lib2 %]</li>[% END %]
<li><span class="label">Username: </span>[% userid %]</li>
<li><span class="label">Password: </span>
[% IF ( password ) %]
*******
[% ELSE %]
<span class="problem"><a href="/cgi-bin/koha/members/member-password.pl?member=[% borrowernumber %]">Undefined</a></span>
[% END %]
</li>
[% IF ( borrowernotes ) %]<li><span class="label">Circulation note: </span>[% borrowernotes %]</li>[% END %]
[% IF ( opacnote ) %]<li><span class="label">OPAC note:</span>[% opacnote %]</li>[% END %]
</ol>
</div>
</div>
<div class="action"><a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=3">Edit</a></div>
[% UNLESS ( I ) %]
<div id="patron-alternate-address" style="padding-top: 1em;">
<h3>Alternate address</h3>
<div class="rows"> <ol><li><span class="label">Address: </span>[% B_address %]</li>
<li><span class="label">Address 2: </span>[% B_address2 %]</li>
<li><span class="label">City: </span>[% B_city %]</li>
[% IF ( B_state ) %]<li><span class="label">State: </span>[% B_state %]</li>[% END %]
<li><span class="label">Zip/Postal code: </span>[% B_zipcode %]</li>
[% IF ( B_country ) %]<li><span class="label">Country: </span>[% B_country %]</li>[% END %]
[% IF ( B_phone ) %]<li><span class="label">Phone: </span>[% B_phone %]</li>[% END %]
[% IF ( B_email ) %]<li><span class="label">Email: </span><a href="mailto:[% B_email %]">[% email %]</a></li>[% END %]</ol></div>
</div>
<div class="action"><a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=6">Edit</a></div>
[% END %]
<div id="patron-alternative-contact" style="padding-top: 1em;">
<h3>Alternative contact</h3>
<div class="rows"> <ol><li><span class="label">Surname: </span>[% altcontactsurname %]</li>
<li><span class="label">First name: </span>[% altcontactfirstname %]</li>
<li><span class="label">Address: </span>[% altcontactaddress1 %]</li>
<li><span class="label">Address 2: </span>[% altcontactaddress2 %]</li>
<li><span class="label">City: </span>[% altcontactaddress3 %]</li>
[% IF ( altcontactstate ) %]<li><span class="label">State: </span>[% altcontactstate %]</li>[% END %]
<li><span class="label">Zip/Postal code: </span>[% altcontactzipcode %]</li>
[% IF ( altcontactcountry ) %]<li><span class="label">Country: </span>[% altcontactcountry %]</li>[% END %]
[% IF ( altcontactphone ) %]<li><span class="label">Phone: </span>[% altcontactphone %]</li>[% END %]
</ol></div>
</div>
<div class="action"><a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=2">Edit</a></div>
</div>
</div>
<div id="finesholdsissues" class="toptabs">
<ul>
<li><a href="#checkedout">[% issueloop.size %] Checkout(s)</a></li>
[% IF relissueloop.size %]
<li><a href="#relissues">Relatives' Checkouts</a></li>
[% END %]
<li><a href="#finesandcharges">Fines &amp; Charges</a></li>
<li>[% IF ( countreserv ) %]
<a href="#onhold">[% countreserv %] Hold(s)</a> [% ELSE %]
<a href="#onhold">0 Holds</a>
[% END %]</li>
<li><a id="debarments-tab-link" href="#reldebarments">[% debarments.size %] Restrictions</a></li>
</ul>
<form action="/cgi-bin/koha/reserve/renewscript.pl" method="post" class="checkboxed">
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="branch" value="[% branch %]" />
<div id="checkedout">
[% IF ( issueloop ) %]
<table id="issuest">
<thead>
<tr>
<th scope="col">Due date</th>
<th scope="col">Title</th>
<th scope="col">Item type</th>
<th scope="col">Checked out on</th>
<th scope="col">Checked out from</th>
<th scope="col">Call no.</th>
<th scope="col">Charge</th>
<th scope="col">Price</th>
<th scope="col">Renew <p class="column-tool"><a href="#" id="CheckAllitems">select all</a> | <a href="#" id="CheckNoitems">none</a></p></th>
<th scope="col">Check in <p class="column-tool"><a href="#" id="CheckAllreturns">select all</a> | <a href="#" id="CheckNoreturns">none</a></p></th>
</tr></thead>
[% INCLUDE 'checkouts-table-footer.inc' %]
<tbody>
[% FOREACH issueloo IN issueloop %]
[% IF ( issueloo.overdue ) %]
<tr class="problem">
[% ELSE %]
<tr>
[% END %]
[% IF ( issueloo.red ) %]
<td class="od">
[% ELSE %]
<td>
[% END %]
<span title="[% issueloo.date_due %]">[% issueloo.date_due | $KohaDates %]</span>
[% IF ( issueloo.itemlost ) %]
<span class="lost">[% issueloo.itemlost %]</span>
[% END %]
[% IF ( issueloo.damaged ) %]
<span class="dmg">[% issueloo.itemdamaged %]</span>
[% END %]
</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% issueloo.biblionumber %]"><strong>[% issueloo.title |html %][% FOREACH subtitl IN issueloo.subtitle %] [% subtitl.subfield %][% END %]</strong></a>[% IF ( issueloo.author ) %], by [% issueloo.author %][% END %] [% IF ( issueloo.publishercode ) %]; [% issueloo.publishercode %] [% END %] [% IF ( issueloo.publicationyear ) %], [% issueloo.publicationyear %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% issueloo.biblionumber %]&amp;itemnumber=[% issueloo.itemnumber %]#item[% issueloo.itemnumber %]">[% issueloo.barcode %]</a></td>
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( issueloo.itemtype_image ) %]<img src="[% issueloo.itemtype_image %]" alt="" />[% END %][% END %][% issueloo.itemtype_description %]</td>
<td><span title="[% issueloo.issuedate %]">[% issueloo.issuedate | $KohaDates%]</span></td>
<td>[% issueloo.issuingbranchname %]</td>
<td>[% issueloo.itemcallnumber %]</td>
<td>[% issueloo.charge %]</td>
<td>[% issueloo.replacementprice %]</td>
[% IF ( issueloo.renew_failed ) %]
<td class="problem">Renewal Failed</td>
[% ELSE %]
<td><span style="padding: 0 1em;">[% IF ( issueloo.renewals ) %][% issueloo.renewals %][% ELSE %]0[% END %]</span>
[% IF ( issueloo.norenew ) %]
[% IF ( issueloo.can_confirm ) %]<span class="renewals-allowed" style="display: none">
<input type="checkbox" name="all_items[]" value="[% issueloo.itemnumber %]" checked="checked" style="display: none;" />
[% IF ( issueloo.od ) %]
<input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" checked="checked" />
[% ELSE %]
<input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" />
[% END %]
</span>
[% IF issueloo.renewsallowed && issueloo.renewsleft && !issueloo.norenew_reason_too_soon %]
<span class="renewals">([% issueloo.renewsleft %] of [% issueloo.renewsallowed %] renewals remaining)</span>
[% END %]
<span class="renewals-disabled">
[% END %]
[% IF ( issueloo.norenew_reason_on_reserve ) %]
<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% issueloo.biblionumber %]">On Hold</a>
[% ELSIF ( issueloo.norenew_reason_too_many ) %]
Not renewable
[% ELSIF ( issueloo.norenew_reason_too_soon ) %]
No renewal before [% issueloo.soonestrenewdate %]
<span class="renewals">([% issueloo.renewsleft %] of [% issueloo.renewsallowed %] renewals remaining)</span>
[% END %]
[% IF ( issueloo.can_confirm ) %]
</span>
[% END %]
[% ELSE %]
<input type="checkbox" name="all_items[]" value="[% issueloo.itemnumber %]" checked="checked" style="display: none;" />
[% IF ( issueloo.red ) %]
<input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" checked="checked" onclick="uncheck_sibling(this);" />
[% ELSE %]
<input type="checkbox" name="items[]" value="[% issueloo.itemnumber %]" onclick="uncheck_sibling(this);" />
[% END %]
[% IF issueloo.renewsallowed && issueloo.renewsleft %]
<span class="renewals">([% issueloo.renewsleft %] of [% issueloo.renewsallowed %] renewals remaining)</span>
[% END %]
[% END %]
</td>
[% END %]
[% IF ( issueloo.return_failed ) %]
<td class="problem">Check-in failed</td>
[% ELSE %]
[% IF ( issueloo.norenew_reason_on_reserve ) %]
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% issueloo.biblionumber %]">On hold</a></td>
[% ELSE %]
<td><input type="checkbox" name="barcodes[]" value="[% issueloo.barcode %]" onclick="uncheck_sibling(this);" />
<input type="checkbox" name="all_barcodes[]" value="[% issueloo.barcode %]" checked="checked" style="display: none;" />
</td>
[% END %]
[% END %]
</tr>
[% END %]
</tbody>
</table>
<fieldset class="action">
[% IF ( CAN_user_circulate_override_renewals ) %]
[% IF ( AllowRenewalLimitOverride ) %]
<label for="override_limit">Override renewal limit:</label>
<input type="checkbox" name="override_limit" id="override_limit" value="1" />
[% END %]
[% END %]
<input type="submit" name="renew_checked" value="Renew or return checked items" />
<input type="submit" id="renew_all" name="renew_all" value="Renew all" />
</fieldset>
[% ELSE %]<p>Patron has nothing checked out.</p>
[% END %]
</div>
[% IF relissueloop %]
<div id="relissues">
<table id="relissuest">
<thead>
<tr>
<th scope="col">Due date</th>
<th scope="col">Title</th>
<th scope="col">Item type</th>
<th scope="col">Checked out on</th>
<th scope="col">Checked out from</th>
<th scope="col">Call no.</th>
<th scope="col">Charge</th>
<th scope="col">Price</th>
<th scope="col">Patron</th>
</tr>
</thead>
<tbody>
[% FOREACH relissueloo IN relissueloop %]
[% IF ( relissueloo.overdue ) %]
<tr class="problem">
[% ELSE %]
<tr>
[% END %]
[% IF ( relissueloo.red ) %]
<td class="od">
[% ELSE %]
<td>
[% END %]
<span title="[% relissueloo.date_due %]">[% relissueloo.date_due | $KohaDates %]</span>
[% IF ( relissueloo.itemlost ) %]
<span class="lost">[% relissueloo.itemlost %]</span>
[% END %]
[% IF ( relissueloo.damaged ) %]
<span class="dmg">[% relissueloo.itemdamaged %]</span>
[% END %]
</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relissueloo.biblionumber %]"><strong>[% relissueloo.title |html %][% FOREACH subtitl IN relissueloo.subtitle %] [% subtitl.subfield %][% END %]</strong></a>[% IF relissueloo.author %], by [% relissueloo.author %][% END %] [% IF relissueloo.publishercode %]; [% relissueloo.publishercode %] [% END %] [% IF relissueloo.publicationyear %], [% relissueloo.publicationyear %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relissueloo.biblionumber %]&amp;itemnumber=[% relissueloo.itemnumber %]#item[% relissueloo.itemnumber %]">[% relissueloo.barcode %]</a></td>
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( relissueloo.itemtype_image ) %]<img src="[% relissueloo.itemtype_image %]" alt="" />[% END %][% END %][% relissueloo.itemtype_description %]</td>
<td><span title="[% relissueloo.issuedate %]">[% relissueloo.issuedate | $KohaDates %]</span></td>
<td>[% relissueloo.issuingbranchname %]</td>
<td>[% relissueloo.itemcallnumber %]</td>
<td>[% relissueloo.charge %]</td>
<td>[% relissueloo.replacementprice %]</td>
<td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% relissueloo.borrowernumber %]">[% relissueloo.firstname %] [% relissueloo.surname %] ([% relissueloo.cardnumber %])</a></td>
</tr>
[% END %]
</tbody>
</table>
</div>
[% END %]
</form>
<div id="finesandcharges">
[% IF ( totaldue_raw ) %]
<p>Total due: [% totaldue %]</p>
[% ELSE %]
<p>No outstanding charges</p>
[% END %]
</div>
[% INCLUDE borrower_debarments.inc %]
<div id="onhold">
[% IF ( reservloop ) %]
<form action="/cgi-bin/koha/reserve/modrequest.pl" method="post">
<input type="hidden" name="from" value="borrower" />
<table id="holdst">
<thead><tr>
<th>Hold date</th>
<th>Title</th>
<th>Call number</th>
<th>Barcode</th>
<th>Expiration</th>
<th>Priority</th>
<th>Delete?</th>
<th>&nbsp;</th>
</tr></thead>
<tbody>[% FOREACH reservloo IN reservloop %]
<tr class="[% reservloo.color %]">
<td><span title="[% reservloo.reservedate %]">[% reservloo.reservedate | $KohaDates %]</span></td>
<td>
<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% reservloo.biblionumber %]">[% reservloo.title |html %][% FOREACH subtitl IN reservloo.subtitle %] [% subtitl.subfield %][% END %]</a>[% IF ( reservloo.author ) %], by [% reservloo.author %][% END %]
</td>
<td>[% reservloo.itemcallnumber %]</td>
<td>[% IF ( reservloo.waiting ) %]
<em>Item is <strong>waiting</strong></em>
[% END %]
[% IF ( reservloo.transfered ) %]
<em>Item <strong>in transit</strong> from
[% reservloo.frombranch %] since [% reservloo.datesent %] </em>
[% END %]
[% IF ( reservloo.nottransfered ) %]
<em>Item hasn't been transferred yet from [% reservloo.nottransferedby %]</em>
[% END %]
[% IF ( reservloo.barcodereserv ) %]
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% reservloo.biblionumber %]">[% reservloo.barcodereserv %]</a>
[% END %]
</td>
<td>[% reservloo.expirationdate | $KohaDates %]</td>
<td>[% IF ( reservloo.waitingposition ) %]<strong>[% reservloo.waitingposition %]</strong>[% END %]</td>
<td><select name="rank-request">
<option value="n">No</option>
<option value="del">Yes</option>
</select>
<input type="hidden" name="biblionumber" value="[% reservloo.biblionumber %]" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="reserve_id" value="[% reservloo.reserve_id %]" />
</td>
<td>[% IF ( reservloo.suspend ) %]Suspended [% IF ( reservloo.suspend_until ) %] until [% reservloo.suspend_until | $KohaDates %][% END %][% END %]</td>
</tr>
[% END %]</tbody>
</table>
<fieldset class="action"><input type="submit" class="cancel" name="submit" value="Cancel marked holds" /></fieldset>
</form>
[% IF SuspendHoldsIntranet %]
<fieldset class="action">
<form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
<input type="hidden" name="from" value="borrower" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="submit" value="Suspend all holds" />
[% IF AutoResumeSuspendedHolds %]
<label for="suspend_until">until</label>
<input type="text" size="10" id="suspend_until" name="suspend_until"/>
<span class="hint">Specify date on which to resume [% INCLUDE 'date-format.inc' %]: </span>
[% END %]
</form>
</fieldset>
<fieldset class="action">
<form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
<input type="hidden" name="from" value="borrower" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="suspend" value="0" />
<input type="submit" value="Resume all suspended holds" />
</form>
</fieldset>
[% END # IF SuspendHoldsIntranet %]
[% ELSE %]<p>Patron has nothing on hold.</p>[% END %]
</div>
</div>
[% END %] <!-- unknowuser -->
</div>
</div>
<div class="yui-b">
[% INCLUDE 'circ-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]