|
Line 0
Link Here
|
|
|
1 |
[% USE Koha %] |
| 2 |
[% USE Branches %] |
| 3 |
[% USE KohaDates %] |
| 4 |
[% IF ( export_remove_fields OR export_with_csv_profile ) %] |
| 5 |
[% SET exports_enabled = 1 %] |
| 6 |
[% END %] |
| 7 |
[% USE AuthorisedValues %] |
| 8 |
[% INCLUDE 'doc-head-open.inc' angular_app = "checkoutApp" %] |
| 9 |
[% SET destination = "circ" %] |
| 10 |
<title>Koha › Circulation |
| 11 |
[% IF borrowernumber %] |
| 12 |
› Checking out to [% INCLUDE 'patron-title.inc' invert_name = 1 %] |
| 13 |
[% END %] |
| 14 |
</title> |
| 15 |
[% INCLUDE 'doc-head-close.inc' %] |
| 16 |
[% INCLUDE 'calendar.inc' %] |
| 17 |
[% IF ( UseTablesortForCirc ) %]<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" /> |
| 18 |
[% INCLUDE 'datatables.inc' %][% END %] |
| 19 |
<script src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script> |
| 20 |
<script src="[% interface %]/lib/jquery/plugins/jquery-ui-timepicker-addon.min.js"></script> |
| 21 |
[% INCLUDE 'timepicker.inc' %] |
| 22 |
[% INCLUDE 'doc-head-angular.inc' %] |
| 23 |
<script> |
| 24 |
var authorised_values = { |
| 25 |
[% FOREACH category IN authorised_values -%] |
| 26 |
"[% category.key %]":{ |
| 27 |
[% FOREACH value IN category.value -%] |
| 28 |
"[% value.value %]":"[% value.lib %]", |
| 29 |
[% END -%] |
| 30 |
}, |
| 31 |
[% END -%] |
| 32 |
} |
| 33 |
|
| 34 |
var checkoutApp = angular.module( 'checkoutApp', [] ) |
| 35 |
.filter( 'isNotEmpty', function() { |
| 36 |
return function(obj) { |
| 37 |
return !$.isEmptyObject(obj); |
| 38 |
}; |
| 39 |
} ); |
| 40 |
|
| 41 |
checkoutApp.controller( 'CheckoutController', function ( $scope, $http ) { |
| 42 |
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; |
| 43 |
$scope.borrowernumber = [% borrowernumber %]; |
| 44 |
$scope.authorised_values = authorised_values; |
| 45 |
|
| 46 |
$http.get( '/cgi-bin/koha/svc/patrons/' + $scope.borrowernumber + '/patronInfo' ).success( function( data ) { |
| 47 |
$scope.borrower = data.patronInfo; |
| 48 |
$scope.not_loading = true; |
| 49 |
$('#yui-main > .yui-b').show(); |
| 50 |
}); |
| 51 |
|
| 52 |
function get_checkouts() { |
| 53 |
$http.get( '/cgi-bin/koha/svc/patrons/' + $scope.borrowernumber + '/checkouts' ).success( function( data ) { |
| 54 |
$scope.checkouts = data.checkouts; |
| 55 |
}); |
| 56 |
} |
| 57 |
|
| 58 |
get_checkouts(); |
| 59 |
|
| 60 |
$scope.checkout = function(barcode, confirmed) { |
| 61 |
var barcode = barcode || $scope.barcode; |
| 62 |
var params = { barcode: barcode, duedate: $scope.duedatespec || '' }; |
| 63 |
if ( confirmed ) { |
| 64 |
params.confirmed = 1; |
| 65 |
params.cancelreserve = $scope.cancelreserve; |
| 66 |
} |
| 67 |
$scope.not_loading = false; |
| 68 |
$http.post( '/cgi-bin/koha/svc/patrons/' + $scope.borrowernumber + '/checkouts', $.param( params ) ).success(function( data ) { |
| 69 |
$scope.not_loading = true; |
| 70 |
$scope.last_barcode = barcode; |
| 71 |
$scope.barcode = ''; |
| 72 |
|
| 73 |
if ( data.errors || data.questions ) { |
| 74 |
$scope.last_item = data.item; |
| 75 |
$scope.errors = data.errors; |
| 76 |
$scope.questions = data.questions; |
| 77 |
$scope.cancelreserve = data.questions.RESERVE_WAITING ? "revert" : null; |
| 78 |
}else { |
| 79 |
$scope.last_item = null; |
| 80 |
$scope.errors = null; |
| 81 |
$scope.questions = null; |
| 82 |
if ( !$scope.stickyduedate ) $scope.duedatespec = ""; |
| 83 |
$('#barcode')[0].focus(); |
| 84 |
get_checkouts(); |
| 85 |
} |
| 86 |
}); |
| 87 |
}; |
| 88 |
|
| 89 |
$scope.cancelCheckout = function() { |
| 90 |
$scope.questions = null; |
| 91 |
$scope.errors = null; |
| 92 |
$('#barcode')[0].focus(); |
| 93 |
}; |
| 94 |
|
| 95 |
|
| 96 |
} ); |
| 97 |
|
| 98 |
$(document).ready( function() { |
| 99 |
$('#patronlists').tabs( [% IF ( UseTablesortForCirc ) %]{ |
| 100 |
// Correct table sizing for tables hidden in tabs |
| 101 |
// http://www.datatables.net/examples/api/tabs_and_scrolling.html |
| 102 |
"show": function( event, ui ) { |
| 103 |
var oTable = $( 'div.dataTables_wrapper>table', ui.panel ).dataTable(); |
| 104 |
if ( oTable.length > 0 ) { |
| 105 |
oTable.fnAdjustColumnSizing(); |
| 106 |
} |
| 107 |
} |
| 108 |
}[% END %] ); |
| 109 |
$("#duedatespec").datetimepicker({ |
| 110 |
onClose: function(dateText, inst) { $("#barcode").focus(); }, |
| 111 |
hour: 23, |
| 112 |
minute: 59 |
| 113 |
}); |
| 114 |
$("#confduedatespec").datetimepicker({ |
| 115 |
hour: 23, |
| 116 |
minute: 59 |
| 117 |
}); |
| 118 |
} ); |
| 119 |
</script> |
| 120 |
</head> |
| 121 |
<body id="circ_circulation" class="circ" ng-controller="CheckoutController"> |
| 122 |
|
| 123 |
<div class="loading-overlay" ng-hide="not_loading"> |
| 124 |
<div>Loading, please wait...</div> |
| 125 |
</div> |
| 126 |
|
| 127 |
[% INCLUDE 'header.inc' %] |
| 128 |
[% INCLUDE 'circ-search.inc' %] |
| 129 |
|
| 130 |
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> › <a href="/cgi-bin/koha/circ/circulation.pl">Checkouts</a> |
| 131 |
<span ng-show="borrower"> › Checking out to {{ borrower.surname }}, {{ borrower.firstname }}</span> |
| 132 |
</div> |
| 133 |
<div id="doc3" class="yui-t2"> |
| 134 |
|
| 135 |
<div id="bd"> |
| 136 |
<div id="yui-main"> |
| 137 |
<div class="yui-b" style="display: none"> |
| 138 |
|
| 139 |
[% INCLUDE 'members-toolbar.inc' %] |
| 140 |
|
| 141 |
<!-- INITIAL BLOC : PARAMETERS & BORROWER INFO --> |
| 142 |
<div style="display: none;" id="add_message_form"> |
| 143 |
<form method="post" action="/cgi-bin/koha/circ/add_message.pl" id="message_form" name="message_f"> |
| 144 |
<fieldset id="borrower_messages" class="brief"> |
| 145 |
<legend>Leave a message</legend> |
| 146 |
<ol> |
| 147 |
<li> |
| 148 |
<label for="message_type">Add a message for:</label> |
| 149 |
<select name="message_type" id="message_type"> |
| 150 |
<option value="L">Other librarians</option> |
| 151 |
<option value="B">[% firstname %]</option> |
| 152 |
</select> |
| 153 |
</li> |
| 154 |
[% IF ( canned_bor_notes_loop ) %] |
| 155 |
<li> |
| 156 |
<label for="type">Predefined notes: </label> |
| 157 |
<select name="type" id="type" onchange="this.form.borrower_message.value=this.options[this.selectedIndex].value;"> |
| 158 |
<option value="">Select note</option> |
| 159 |
[% FOREACH canned_bor_notes_loo IN canned_bor_notes_loop %] |
| 160 |
<option value="[% canned_bor_notes_loo.lib %]">[% canned_bor_notes_loo.lib %]</option> |
| 161 |
[% END %] |
| 162 |
</select> |
| 163 |
</li> |
| 164 |
[% END %] |
| 165 |
<li> |
| 166 |
<textarea rows="3" cols="60" name="borrower_message" id="borrower_message" ></textarea> |
| 167 |
</li> |
| 168 |
</ol> |
| 169 |
<fieldset class="action"> |
| 170 |
<input type="submit" value="Save" /> <a href="#" class="cancel">Cancel</a> |
| 171 |
</fieldset> |
| 172 |
|
| 173 |
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" /> |
| 174 |
<input type="hidden" name="branchcode" value="[% branch %]" /> |
| 175 |
</fieldset> |
| 176 |
</form> |
| 177 |
</div> |
| 178 |
|
| 179 |
<div class="yui-g" ng-show="errors | isNotEmpty"> |
| 180 |
<div id="circ_impossible" class="dialog alert"> |
| 181 |
<!-- RESULT OF ISSUING REQUEST --> |
| 182 |
<ul> |
| 183 |
|
| 184 |
<li ng-show="errors.STATS">Local use recorded</li> |
| 185 |
|
| 186 |
<li ng-show="errors.INVALID_DATE">The due date "{{errors.INVALID_DATE}}" is invalid</li> |
| 187 |
|
| 188 |
<li ng-show="errors.UNKNOWN_BARCODE"> |
| 189 |
The barcode "{{last_barcode}}" was not found |
| 190 |
|
| 191 |
<div ng-show="errors.fallback_choices"> |
| 192 |
The following items were found by searching: |
| 193 |
<table> |
| 194 |
<thead> |
| 195 |
<th scope="col">Title</th> |
| 196 |
<th scope="col">Author</th> |
| 197 |
<th scope="col">Barcode</th> |
| 198 |
<th scope="col">Status</th> |
| 199 |
<th scope="col"> </th> |
| 200 |
</thead> |
| 201 |
<tbody> |
| 202 |
<tr ng-repeat="choice in errors.fallback_choices"> |
| 203 |
<td>{{ choice.title }}</td> |
| 204 |
<td>{{ choice.author }}</td> |
| 205 |
<td>{{ choice.barcode }}</td> |
| 206 |
<td> |
| 207 |
<span ng-hide="choice.available"> |
| 208 |
Available |
| 209 |
</span> |
| 210 |
<span ng-show="choice.available"> |
| 211 |
Not Available |
| 212 |
</span> |
| 213 |
</td> |
| 214 |
<td><button ng-click="checkout(choice.barcode)">Check Out</button></td> |
| 215 |
</tr> |
| 216 |
</tbody> |
| 217 |
</table> |
| 218 |
</div> |
| 219 |
</li> |
| 220 |
|
| 221 |
<li ng-show="errors.NOT_FOR_LOAN"> |
| 222 |
<span ng-show="errors.itemtype_notforloan">Item type not for loan.</span> |
| 223 |
|
| 224 |
<span ng-show="errors.item_notforloan"> |
| 225 |
Item not for loan |
| 226 |
|
| 227 |
<span ng-show="authorised_values['[% authvalcode_notforloan %]'][errors.item_notforloan]"> ({{authorised_values['[% authvalcode_notforloan %]'][errors.item_notforloan]}})</span> |
| 228 |
</span> |
| 229 |
</li> |
| 230 |
|
| 231 |
<li ng-show="errors.WTHDRAWN">Item has been withdrawn</li> |
| 232 |
|
| 233 |
<li ng-show="errors.RESTRICTED">Item is restricted</li> |
| 234 |
|
| 235 |
<li ng-show="errors.GNA">Patron's address is in doubt</li> |
| 236 |
|
| 237 |
<li ng-show="errors.CARD_LOST">Patron's card is lost</li> |
| 238 |
|
| 239 |
<li ng-show="errors.DERBARRED">Patron is restricted</li> |
| 240 |
|
| 241 |
<li ng-show="errors.NO_MORE_RENEWALS">No more renewals possible</li> |
| 242 |
|
| 243 |
<li ng-show="errors.AGE_RESTRICTION">Age restriction {{errors.AGE_RESTRICTION}}.</li> |
| 244 |
|
| 245 |
<li ng-show="errors.EXPIRED">Patron's card is expired</li> |
| 246 |
|
| 247 |
<li ng-show="errors.TOO_MANY">Too many checked out. {{errors.current_loan_count}} checked out, only {{errors.max_loans_allowed}} are allowed.</li> |
| 248 |
|
| 249 |
<li ng-show="errors.ITEMNOTSAMEBRANCH">This item belongs to {{authorised_values.branches[errors.itemhomebranch]}} and cannot be checked out from this location.</li> |
| 250 |
|
| 251 |
<li ng-show="errors.USERBLOCKEDREMAINING">Patron has had overdue items and is blocked for {{errors.USERBLOCKEDREMAINING}} day(s).</li> |
| 252 |
|
| 253 |
<li ng-show="errors.USERBLOCKEDOVERDUE">Checkouts are BLOCKED because patron has overdue items</li> |
| 254 |
</ul> |
| 255 |
|
| 256 |
</div></div> |
| 257 |
<!-- /impossible --> |
| 258 |
|
| 259 |
<div class="yui-g" ng-show="questions | isNotEmpty"> |
| 260 |
|
| 261 |
<div id="circ_needsconfirmation" class="dialog alert"> |
| 262 |
[% IF CAN_user_circulate_force_checkout %] |
| 263 |
<h3>Please confirm checkout</h3> |
| 264 |
[% ELSE %] |
| 265 |
<h3>Cannot check out</h3> |
| 266 |
[% END %] |
| 267 |
|
| 268 |
<ul> |
| 269 |
<li ng-show="questions.AGE_RESTRICTION"> |
| 270 |
Age restriction {{ questions.AGE_RESTRICTION }}. |
| 271 |
[% IF CAN_user_circulate_force_checkout %] |
| 272 |
Check out anyway? |
| 273 |
[% END %] |
| 274 |
</li> |
| 275 |
|
| 276 |
<li ng-show="questions.DEBT">The patron has a debt of {{ questions.DEBT }}.</li> |
| 277 |
|
| 278 |
<li ng-show="questions.RENEW_ISSUE">Item <i>{{ last_item.title }}</i> ({{ last_barcode }}) is currently checked out to this patron. Renew?</li> |
| 279 |
|
| 280 |
<li ng-show="questions.RESERVE_WAITING"> |
| 281 |
Item <i>{{ last_item.title }}</i> ({{ last_barcode }}) has been waiting for |
| 282 |
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber={{ questions.resborrowernumber }}">{{ questions.resfirstname }} {{ questions.ressurname }}</a> |
| 283 |
({{ questions.rescardnumber }}) at {{ questions.resbranchname }} since {{ questions.reswaitingdate }}. |
| 284 |
</li> |
| 285 |
|
| 286 |
<li ng-show="questions.RESERVED"> |
| 287 |
Item <i>{{ last_item.title }}</i> ({{ last_barcode }}) has been on hold for |
| 288 |
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber={{ questions.resborrowernumber }}">{{ questions.resfirstname }} {{ questions.ressurname }}</a> |
| 289 |
({{ questions.rescardnumber }}) at {{ questions.resbranchname }} since {{ questions.resreservedate }}. |
| 290 |
</li> |
| 291 |
|
| 292 |
<li ng-show="questions.ISSUED_TO_ANOTHER">Item <i>{{ last_item.title }}</i> ({{ last_barcode }}) is checked out to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber={{ questions.issued_borrowernumber }}">{{ questions.issued_firstname }} {{ questions.issued_surname }}</a> ({{ questions.issued_cardnumber }}). |
| 293 |
[% IF CAN_user_circulate_force_checkout %] |
| 294 |
Check in and check out? |
| 295 |
[% END %] |
| 296 |
</li> |
| 297 |
|
| 298 |
<li ng-show="questions.TOO_MANY">Too many checked out. {{questions.current_loan_count}} checked out, only {{questions.max_loans_allowed}} are allowed.</li> |
| 299 |
|
| 300 |
<li ng-show="questions.BORRNOTSAMEBRANCH">This patron is from a different library ({{ questions.BORRNOTSAMEBRANCH }}).</li> |
| 301 |
|
| 302 |
<li ng-show="questions.PATRON_CANT">This patron can't check out this item per library circulation policy.</li> |
| 303 |
|
| 304 |
<li ng-show="questions.NOT_FOR_LOAN_FORCING"> |
| 305 |
<span ng-show="questions.itemtype_notforloan">Item type is normally not for loan.</span> |
| 306 |
|
| 307 |
<span ng-show="questions.item_notforloan"> |
| 308 |
Item is normally not for loan |
| 309 |
|
| 310 |
<span ng-show="authorised_values['[% authvalcode_notforloan %]'][questions.item_notforloan]"> ({{authorised_values['[% authvalcode_notforloan %]'][questions.item_notforloan]}})</span>. |
| 311 |
</span> |
| 312 |
|
| 313 |
[% IF CAN_user_circulate_force_checkout %] |
| 314 |
Check out anyway? |
| 315 |
[% END %] |
| 316 |
</li> |
| 317 |
|
| 318 |
<li ng-show="questions.USERBLOCKEDOVERDUE"> |
| 319 |
Patron has {{ questions.USERBLOCKEDOVERDUE }} overdue item(s). |
| 320 |
[% IF CAN_user_circulate_force_checkout %] |
| 321 |
Check out anyway? |
| 322 |
[% END %] |
| 323 |
</li> |
| 324 |
|
| 325 |
<li ng-show="questions.ITEM_LOST"> |
| 326 |
This item has been lost with a status of "{{ questions.ITEM_LOST }}". |
| 327 |
[% IF CAN_user_circulate_force_checkout %] |
| 328 |
Check out anyway? |
| 329 |
[% END %] |
| 330 |
</li> |
| 331 |
|
| 332 |
<li ng-show="questions.HIGHHOLDS">High demand item. Loan period shortened to {{ questions.HIGHHOLDS.duration }} days (due {{ questions.HIGHHOLDS.returndate }}). Check out anyway?</li> |
| 333 |
|
| 334 |
<li ng-show="questions.BIBLIO_ALREADY_ISSUED"> |
| 335 |
Patron has already checked out another item from this record. |
| 336 |
[% IF CAN_user_circulate_force_checkout %] |
| 337 |
Check out anyway? |
| 338 |
[% END %] |
| 339 |
</li> |
| 340 |
</ul> |
| 341 |
|
| 342 |
[% IF CAN_user_circulate_force_checkout %] |
| 343 |
<form autocomplete="off"> |
| 344 |
[% ELSE %] |
| 345 |
<form autocomplete="off" ng-show="questions.HIGHHOLDS"> |
| 346 |
[% END %] |
| 347 |
|
| 348 |
<p ng-show="questions.RESERVED"> |
| 349 |
<input type="checkbox" id="cancelreserve" name="cancelreserve" value="cancel" ng-model="cancelreserve"/> |
| 350 |
<label for="cancelreserve">Cancel hold</label> |
| 351 |
</p> |
| 352 |
|
| 353 |
<p ng-show="questions.RESERVE_WAITING"> |
| 354 |
<label for="cancelreserve">Cancel hold</label> |
| 355 |
<input type="radio" value="cancel" name="cancelreserve" id="cancelreserve" ng-model="cancelreserve"/><br /> |
| 356 |
<label for="revertreserve">Revert waiting status</label> |
| 357 |
<input type="radio" value="revert" name="cancelreserve" id="revertreserve" checked="checked" ng-model="cancelreserve"/> |
| 358 |
</p> |
| 359 |
|
| 360 |
<p ng-show="questions.INVALID_DATE"> |
| 361 |
<input type="text" size="13" id="confduedatespec" name="duedatespec" readonly="readonly" ng-model="duedatespec" /> |
| 362 |
<label for="confduedatespec">Due date</label> |
| 363 |
</p> |
| 364 |
|
| 365 |
<input type="submit" class="approve" value="Yes, Renew (Y)" accesskey="y" ng-show="questions.RENEW_ISSUE" ng-click="checkout( last_barcode, true )" /> |
| 366 |
|
| 367 |
<input type="submit" class="approve" value="Yes, Check Out (Y)" accesskey="y" ng-hide="questions.RENEW_ISSUE" ng-click="checkout( last_barcode, true )" /> |
| 368 |
|
| 369 |
<input type="submit" class="deny" value="No, Don't Renew (N)" accesskey="n" ng-show="questions.RENEW_ISSUE" ng-click="cancelCheckout()" /> |
| 370 |
|
| 371 |
<input type="submit" class="deny" value="No, Don't Check Out (N)" accesskey="n" ng-hide="questions.RENEW_ISSUE" ng-click="cancelCheckout()" /> |
| 372 |
|
| 373 |
</form> |
| 374 |
|
| 375 |
[% UNLESS CAN_user_circulate_force_checkout %] |
| 376 |
<form ng-hide="questions.HIGHHOLDS"> |
| 377 |
<input type="submit" class="deny" value="Continue" ng-click="cancelCheckout()" /> |
| 378 |
</form> |
| 379 |
[% END %] |
| 380 |
|
| 381 |
</div></div> |
| 382 |
|
| 383 |
[% IF ( was_renewed ) %]<div class="dialog message">Patron's account has been renewed until [% expiry %]</div>[% END %] |
| 384 |
|
| 385 |
[% IF additional_materials %] |
| 386 |
<div id="materials" class="dialog message">Note about the accompanying materials: <br /> |
| 387 |
[% additional_materials %] |
| 388 |
</div> |
| 389 |
[% END %] |
| 390 |
|
| 391 |
[% IF ( alert.ITEM_LOST ) %] |
| 392 |
<div class="dialog message">This item has been lost with a status of "[% alert.ITEM_LOST %]".</div> |
| 393 |
[% END %] |
| 394 |
|
| 395 |
[% IF ( alert.OTHER_CHARGES ) %] |
| 396 |
<div class="dialog message">The patron has unpaid charges for reserves, rentals etc of [% alert.OTHER_CHARGES %]</div> |
| 397 |
[% END %] |
| 398 |
|
| 399 |
[% IF ( issued ) %] |
| 400 |
<p>Item checked out</p> |
| 401 |
[% END %] |
| 402 |
|
| 403 |
<!-- BARCODE ENTRY --> |
| 404 |
|
| 405 |
<div class="yui-g" ng-show="borrower"> |
| 406 |
[% UNLESS ( noissues ) %] |
| 407 |
[% IF ( flagged ) %] |
| 408 |
<div class="yui-u first"> |
| 409 |
[% ELSE %] |
| 410 |
<div> |
| 411 |
|
| 412 |
[% END %] |
| 413 |
|
| 414 |
<form method="post" id="mainform" name="mainform" autocomplete="off" ng-submit="checkout()"> |
| 415 |
<fieldset id="circ_circulation_issue"> |
| 416 |
[% IF ( DisplayClearScreenButton ) %] |
| 417 |
<span id="clearscreen"><a href="/cgi-bin/koha/circ/circulation.pl" title="Clear screen">x</a></span> |
| 418 |
[% END %] |
| 419 |
|
| 420 |
<label for="barcode">Checking out to {{ borrower.surname }}, {{ borrower.firstname }} ({{ borrower.cardnumber }})</label> |
| 421 |
|
| 422 |
<div class="hint">Enter item barcode:</div> |
| 423 |
|
| 424 |
<input type="text" name="barcode" id="barcode" class="barcode focus" size="14" ng-attr-disabled="{{questions? 'disabled':''}}" ng-model="barcode"/> |
| 425 |
|
| 426 |
<input type="submit" value="Check Out" /> |
| 427 |
|
| 428 |
[% IF ( Koha.Preference( 'SpecifyDueDate' ) ) %]<div class="date-select"> |
| 429 |
<div class="hint">Specify due date [% INCLUDE 'date-format.inc' %]: </div> |
| 430 |
<input type="text" size="13" id="duedatespec" name="duedatespec" readonly="readonly" ng-model="duedatespec" /> |
| 431 |
<label for="stickyduedate"> Remember for session:</label> |
| 432 |
<input type="checkbox" id="stickyduedate" onclick="this.form.barcode.focus();" name="stickyduedate" ng-model="stickyduedate"/> |
| 433 |
<input type="button" class="action" id="cleardate" value="Clear" name="cleardate" onclick="this.checked = false; this.form.duedatespec.value = ''; this.form.stickyduedate.checked = false; this.form.barcode.focus(); return false;" /> |
| 434 |
</div>[% END %] |
| 435 |
</fieldset> |
| 436 |
</form></div>[% END %]<!-- /unless noissues --> |
| 437 |
|
| 438 |
[% IF ( noissues ) %]<div>[% ELSE %]<div class="yui-u">[% END %] |
| 439 |
|
| 440 |
[% IF ( flagged ) %] |
| 441 |
[% IF ( noissues ) %] |
| 442 |
<h4>Checking out to [% INCLUDE 'patron-title.inc' %]</h4> |
| 443 |
<div id="circmessages" class="circmessage warning"> |
| 444 |
[% ELSE %] |
| 445 |
<div id="circmessages" class="circmessage attention"> |
| 446 |
[% END %] |
| 447 |
|
| 448 |
<h3>[% IF ( noissues ) %] |
| 449 |
Cannot check out! |
| 450 |
[% ELSE %]Attention:[% END %]</h3> |
| 451 |
<ul> |
| 452 |
|
| 453 |
[% IF ( warndeparture ) %] |
| 454 |
<li><span class="circ-hlt">Expiration:</span> Patron's card will expire soon. |
| 455 |
Patron's card expires on [% expiry %] <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&cardnumber=[% cardnumber %]&destination=circ&reregistration=y">Renew</a> or <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&categorycode=[% categorycode %]">Edit Details</a> |
| 456 |
|
| 457 |
</li> |
| 458 |
[% END %] |
| 459 |
|
| 460 |
[% IF ( returnbeforeexpiry ) %] |
| 461 |
<li><span class="circ-hlt">Set due date to expiry:</span> You have the ReturnBeforeExpiry system preference enabled this means if the |
| 462 |
expiry date is before the date due, the date due will be set to the expiry date |
| 463 |
</li> |
| 464 |
[% END %] |
| 465 |
|
| 466 |
[% IF ( expired ) %] |
| 467 |
<li><span class="circ-hlt">Expiration:</span> Patron's card has expired. |
| 468 |
[% IF ( expiry ) %]Patron's card expired on [% expiry %][% END %] <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&cardnumber=[% cardnumber %]&destination=circ&reregistration=y">Renew</a> or <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&categorycode=[% categorycode %]">Edit Details</a> |
| 469 |
|
| 470 |
</li> |
| 471 |
[% END %] |
| 472 |
|
| 473 |
[% IF ( gna ) %] |
| 474 |
<li class="blocker"><span class="circ-hlt">Address:</span> Patron's address in doubt</li> |
| 475 |
[% END %] |
| 476 |
|
| 477 |
[% IF ( lost ) %] |
| 478 |
<li class="blocker"><span class="circ-hlt">Lost: </span>Patron's card is lost</li> |
| 479 |
[% END %] |
| 480 |
|
| 481 |
[% IF ( userdebarred ) %] |
| 482 |
<li class="blocker"> |
| 483 |
<span class="circ-hlt"> Restricted:</span> Patron's account is restricted |
| 484 |
|
| 485 |
[% IF ( userdebarreddate ) %] |
| 486 |
until [% userdebarreddate %] |
| 487 |
[% END %] |
| 488 |
|
| 489 |
[% IF ( debarredcomment ) %] |
| 490 |
with the explanation: <br/><i>[% debarredcomment | html_line_break %]</i> |
| 491 |
[% END %] |
| 492 |
|
| 493 |
<br/> |
| 494 |
<a class="btn btn-small" href="#reldebarments" onclick="$('#debarments-tab-link').click()"><i class="icon-ban-circle"></i> View restrictions</a> |
| 495 |
</li> |
| 496 |
[% END %] |
| 497 |
|
| 498 |
[% IF ( odues ) %]<li>[% IF ( nonreturns ) %]<span class="circ-hlt">Overdues:</span> Patron has <span class="circ-hlt">ITEMS OVERDUE</span>. See highlighted items <a href="#checkouts">below</a>[% END %]</li> |
| 499 |
[% END %] |
| 500 |
|
| 501 |
[% IF ( charges ) %] |
| 502 |
<li> |
| 503 |
<span class="circ-hlt">Fees & Charges:</span> Patron has <a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrowernumber %]">Outstanding fees & charges[% IF ( chargesamount ) %] of [% chargesamount %][% END %]</a>. |
| 504 |
[% IF ( charges_is_blocker ) %] |
| 505 |
Checkouts are <span class="circ-hlt">BLOCKED</span> because fine balance is <span class="circ-hlt">OVER THE LIMIT</span>. |
| 506 |
[% END %] |
| 507 |
<a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrowernumber %]">Make payment</a></li> |
| 508 |
[% END %] |
| 509 |
|
| 510 |
[% IF ( credits ) %] |
| 511 |
<li> |
| 512 |
<span class="circ-hlt">Credits:</span> Patron has a credit[% IF ( creditsamount ) %] of [% creditsamount %][% END %] |
| 513 |
</li> |
| 514 |
[% END %] |
| 515 |
|
| 516 |
|
| 517 |
|
| 518 |
</ul> |
| 519 |
</div> |
| 520 |
|
| 521 |
[% IF ( WaitingReserveLoop ) %] |
| 522 |
<div id="holdswaiting" class="circmessage"> |
| 523 |
<h4>Holds waiting:</h4> |
| 524 |
[% FOREACH WaitingReserveLoo IN WaitingReserveLoop %] |
| 525 |
<ul> |
| 526 |
<li> <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% WaitingReserveLoo.biblionumber %]">[% WaitingReserveLoo.title |html %]</a> ([% WaitingReserveLoo.itemtype %]), [% IF ( WaitingReserveLoo.author ) %]by [% WaitingReserveLoo.author %][% END %] [% IF ( WaitingReserveLoo.itemcallnumber ) %][[% WaitingReserveLoo.itemcallnumber %]] [% END %]Hold placed on [% WaitingReserveLoo.reservedate %]. |
| 527 |
[% IF ( WaitingReserveLoo.waitingat ) %] |
| 528 |
<br />[% IF ( WaitingReserveLoo.waitinghere ) %]<strong class="waitinghere">[% ELSE %]<strong>[% END %]Waiting at [% WaitingReserveLoo.waitingat %]</strong> |
| 529 |
[% END %] |
| 530 |
</li> |
| 531 |
</ul> |
| 532 |
[% END %] |
| 533 |
</div> |
| 534 |
<!-- /If WaitingReserveLoop -->[% END %] |
| 535 |
[% IF ( notes ) %] |
| 536 |
<div id="circnotes" class="circmessage"> |
| 537 |
<h4>Notes:</h4> |
| 538 |
<p><span class="circ-hlt">[% notesmsg %]</span></p> |
| 539 |
</div> |
| 540 |
|
| 541 |
|
| 542 |
<!-- /If notes -->[% END %] |
| 543 |
|
| 544 |
<div id="messages" class="circmessage"> |
| 545 |
<h4>Messages:</h4> |
| 546 |
<ul> |
| 547 |
[% FOREACH lib_messages_loo IN lib_messages_loop %] |
| 548 |
<li> |
| 549 |
<span class="circ-hlt"> |
| 550 |
[% lib_messages_loo.message_date_formatted %] |
| 551 |
[% lib_messages_loo.branchcode %] |
| 552 |
<i>"[% lib_messages_loo.message %]"</i> |
| 553 |
</span> |
| 554 |
[% IF ( lib_messages_loo.can_delete ) %] |
| 555 |
<a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% lib_messages_loo.message_id %]&borrowernumber=[% lib_messages_loo.borrowernumber %]">[Delete]</a> |
| 556 |
[% ELSE %] |
| 557 |
[% IF ( all_messages_del ) %] |
| 558 |
<a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% lib_messages_loo.message_id %]&borrowernumber=[% lib_messages_loo.borrowernumber %]">[Delete]</a> |
| 559 |
[% END %] |
| 560 |
[% END %] |
| 561 |
</li> |
| 562 |
[% END %] |
| 563 |
[% FOREACH bor_messages_loo IN bor_messages_loop %] |
| 564 |
<li><span class="">[% bor_messages_loo.message_date_formatted %] [% bor_messages_loo.branchcode %] <i>"[% bor_messages_loo.message %]"</i></span> [% IF ( bor_messages_loo.can_delete ) %]<a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% bor_messages_loo.message_id %]&borrowernumber=[% bor_messages_loo.borrowernumber %]">[Delete]</a> |
| 565 |
[% ELSIF ( all_messages_del ) %] |
| 566 |
<a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% bor_messages_loo.message_id %]&borrowernumber=[% bor_messages_loo.borrowernumber %]">[Delete]</a> |
| 567 |
[% END %]</li> |
| 568 |
[% END %] |
| 569 |
|
| 570 |
</ul> |
| 571 |
</div> |
| 572 |
|
| 573 |
<!-- /If flagged -->[% END %] |
| 574 |
|
| 575 |
|
| 576 |
|
| 577 |
</div> |
| 578 |
</div> |
| 579 |
|
| 580 |
<div class="yui-g" ng-show="borrower"><div id="patronlists" class="toptabs"> |
| 581 |
|
| 582 |
<ul> |
| 583 |
<li> <a href="#checkouts">{{ checkouts.length }} Checkout(s)</a></li> |
| 584 |
[% IF ( displayrelissues ) %] |
| 585 |
<li><a href="#relissues">Relatives' checkouts</a></li> |
| 586 |
[% END %] |
| 587 |
<li>[% IF ( countreserv ) %] |
| 588 |
<a href="#reserves">[% countreserv %] Hold(s)</a> |
| 589 |
[% ELSE %] |
| 590 |
<a href="#reserves">0 Holds</a> |
| 591 |
[% END %]</li> |
| 592 |
<li><a id="debarments-tab-link" href="#reldebarments">[% debarments.size %] Restrictions</a></li> |
| 593 |
|
| 594 |
</ul> |
| 595 |
|
| 596 |
<!-- SUMMARY : TODAY & PREVIOUS ISSUES --> |
| 597 |
<div id="checkouts"> |
| 598 |
|
| 599 |
<form name="issues" action="/cgi-bin/koha/reserve/renewscript.pl" method="post" class="checkboxed" ng-show="checkouts.length"> |
| 600 |
<input type="hidden" value="circ" name="destination" /> |
| 601 |
<input type="hidden" name="cardnumber" value="[% cardnumber %]" /> |
| 602 |
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" /> |
| 603 |
<input type="hidden" name="branch" value="[% branch %]" /> |
| 604 |
<table id="issuest"> |
| 605 |
<thead><tr> |
| 606 |
<th scope="col" class="title-string">Due date</th> |
| 607 |
<th scope="col" class="anti-the">Title</th> |
| 608 |
<th scope="col">Item type</th> |
| 609 |
<th scope="col" class="title-string">Checked out on</th> |
| 610 |
<th scope="col">Checked out from</th> |
| 611 |
<th scope="col">Call no</th> |
| 612 |
<th scope="col">Charge</th> |
| 613 |
<th scope="col">Price</th> |
| 614 |
<th scope="col">Renew <p class="column-tool"><a href="#" id="CheckAllitems">select all</a> | <a href="#" id="CheckNoitems">none</a></p></th> |
| 615 |
<th scope="col">Check in <p class="column-tool"><a href="#" id="CheckAllreturns">select all</a> | <a href="#" id="CheckNoreturns">none</a></p></th> |
| 616 |
[% IF ( exports_enabled ) %] |
| 617 |
<th scope="col">Export <p class="column-tool"><a href="#" id="CheckAllexports">select all</a> | <a href="#" id="CheckNoexports">none</a></p></th> |
| 618 |
[% END %] |
| 619 |
</tr></thead> |
| 620 |
[% INCLUDE 'checkouts-table-footer.inc' %] |
| 621 |
<tbody> |
| 622 |
|
| 623 |
<tr ng-repeat="checkout in checkouts" class="{{ $odd ? 'highlight' : '' }}"> |
| 624 |
[% IF ( todayissue.od ) %]<td class="od">[% ELSE %]<td>[% END %] |
| 625 |
<span title="{{ checkout.date_due }}">{{ checkout.date_due }}</span> |
| 626 |
</td> |
| 627 |
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber={{ checkout.biblionumber }}&type=intra"><strong>{{ checkout.title }}</strong></a><span ng-show="checkout.author">, by {{ checkout.author }}</span><span class="circ-hlt" ng-show="checkout.itemnotes"> - {{ checkout.itemnotes }}</span> <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber={{ checkout.biblionumber }}&itemnumber={{ checkout.itemnumber }}#item{{ checkout.itemnumber }}">{{ checkout.barcode }}</a></td> |
| 628 |
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( todayissue.itemtype_image ) %]<img src="{{ checkout.itemtype_image }}" alt="" />[% END %][% END %]{{ checkout.itemtype }}</td> |
| 629 |
<td><span title="{{ checkout.displaydate_sort }}">{{ checkout.issuedate }}</span></td> |
| 630 |
<td>{{ checkout.issuingbranchname }}</td> |
| 631 |
<td>{{ checkout.itemcallnumber }}</td> |
| 632 |
<td>{{ checkout.charge }}</td> |
| 633 |
<td>{{ checkout.replacementprice }}</td> |
| 634 |
<td><span style="padding: 0 1em;">{{ checkout.renewals || 0 }}</span> |
| 635 |
<td><input type="checkbox" class="radio" name="barcodes[]" value="{{ checkout.barcode }}" /> |
| 636 |
<input type="checkbox" name="all_barcodes[]" value="{{ checkout.barcode }}" checked="checked" style="display: none;" /> |
| 637 |
</td> |
| 638 |
[% IF ( exports_enabled ) %] |
| 639 |
<td style="text-align:center;"> |
| 640 |
<input type="checkbox" id="export_{{ checkout.biblionumber }}" name="biblionumbers" value="{{ checkout.biblionumber }}" /> |
| 641 |
<input type="checkbox" name="itemnumbers" value="{{ checkout.itemnumber }}" style="visibility:hidden;" /> |
| 642 |
</td> |
| 643 |
[% END %] |
| 644 |
</tr> |
| 645 |
|
| 646 |
[% IF ( previssues ) %] |
| 647 |
[% UNLESS ( todayissues ) %] |
| 648 |
[% INCLUDE 'checkouts-table-footer.inc' %] |
| 649 |
<tbody> |
| 650 |
[% END %] |
| 651 |
[% IF ( UseTablesortForCirc ) %]<tr id="previous"><th><span title="">Previous checkouts</span></th><th></th><th></th><th><span title=""></span></th><th></th><th></th><th></th><th></th><th></th><th></th>[% IF ( exports_enabled ) %]<th></th>[% END %]</tr>[% ELSE %]<tr id="previous">[% IF ( exports_enabled ) %]<th colspan="11">[% ELSE %]<th colspan="10">[% END %]Previous checkouts</th></tr>[% END %] |
| 652 |
[% FOREACH previssue IN previssues %] |
| 653 |
[% IF ( loop.odd ) %] |
| 654 |
<tr> |
| 655 |
[% ELSE %] |
| 656 |
<tr class="highlight"> |
| 657 |
[% END %] |
| 658 |
[% IF ( previssue.od ) %]<td class="od">[% ELSE %]<td>[% END %] |
| 659 |
<span title="[% previssue.dd_sort %]">[% previssue.dd %]</span> |
| 660 |
|
| 661 |
[% IF ( previssue.itemlost ) %] |
| 662 |
<span class="lost">[% AuthorisedValues.GetByCode( 'LOST', previssue.itemlost ) %]</span> |
| 663 |
[% END %] |
| 664 |
[% IF ( previssue.damaged ) %] |
| 665 |
<span class="dmg">[% AuthorisedValues.GetByCode( 'DAMAGED', previssue.damaged ) %]</span> |
| 666 |
[% END %] |
| 667 |
</td> |
| 668 |
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% previssue.biblionumber %]&type=intra"><strong>[% previssue.title |html %][% FOREACH subtitl IN previssue.subtitle %] [% subtitl.subfield %][% END %]</strong></a>[% IF ( previssue.author ) %], by [% previssue.author %][% END %] [% IF ( previssue.itemnotes ) %]- [% previssue.itemnotes %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% previssue.biblionumber %]&itemnumber=[% previssue.itemnumber %]#item[% previssue.itemnumber %]">[% previssue.barcode %]</a></td> |
| 669 |
<td> |
| 670 |
[% previssue.itemtype %] |
| 671 |
</td> |
| 672 |
<td><span title="[% previssue.displaydate_sort %]">[% previssue.displaydate %]</span></td> |
| 673 |
[% IF ( previssue.multiple_borrowers ) %]<td>[% previssue.firstname %] [% previssue.surname %]</td>[% END %] |
| 674 |
<td>[% previssue.issuingbranchname %]</td> |
| 675 |
<td>[% previssue.itemcallnumber %]</td> |
| 676 |
<td>[% previssue.charge %]</td> |
| 677 |
<td>[% previssue.replacementprice %]</td> |
| 678 |
[% IF ( previssue.renew_failed ) %] |
| 679 |
<td class="problem">Renewal failed</td> |
| 680 |
[% ELSE %] |
| 681 |
<td><span style="padding: 0 1em;">[% IF ( previssue.renewals ) %][% previssue.renewals %][% ELSE %]0[% END %]</span> |
| 682 |
[% IF ( previssue.can_renew ) %] |
| 683 |
<input type="checkbox" name="all_items[]" value="[% previssue.itemnumber %]" checked="checked" style="display: none;" /> |
| 684 |
[% IF ( previssue.od ) %] |
| 685 |
<input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" checked="checked" /> |
| 686 |
[% ELSE %] |
| 687 |
<input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" /> |
| 688 |
[% END %] |
| 689 |
[% IF previssue.renewsallowed && previssue.renewsleft %] |
| 690 |
<span class="renewals">([% previssue.renewsleft %] of [% previssue.renewsallowed %] renewals remaining)</span> |
| 691 |
[% END %] |
| 692 |
[% ELSE %] |
| 693 |
[% IF ( previssue.can_confirm ) %]<span class="renewals-allowed" style="display: none"> |
| 694 |
<input type="checkbox" name="all_items[]" value="[% previssue.itemnumber %]" checked="checked" style="display: none;" /> |
| 695 |
[% IF ( previssue.od ) %] |
| 696 |
<input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" checked="checked" /> |
| 697 |
[% ELSE %] |
| 698 |
<input type="checkbox" class="radio" name="items[]" value="[% previssue.itemnumber %]" /> |
| 699 |
[% END %] |
| 700 |
</span> |
| 701 |
[% IF previssue.renewsallowed && previssue.renewsleft && !previssue.renew_error_too_soon %] |
| 702 |
<span class="renewals">([% previssue.renewsleft %] of [% previssue.renewsallowed %] renewals remaining)</span> |
| 703 |
[% END %] |
| 704 |
<span class="renewals-disabled"> |
| 705 |
[% END %] |
| 706 |
[% IF ( previssue.renew_error_on_reserve ) %] |
| 707 |
<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% previssue.biblionumber %]">On Hold</a> |
| 708 |
[% ELSIF ( previssue.renew_error_too_many ) %] |
| 709 |
Not renewable |
| 710 |
[% ELSIF ( previssue.renew_error_too_soon ) %] |
| 711 |
No renewal before [% previssue.soonestrenewdate %] |
| 712 |
<span class="renewals">([% previssue.renewsleft %] of [% previssue.renewsallowed %] renewals remaining)</span> |
| 713 |
[% END %] |
| 714 |
[% IF ( previssue.can_confirm ) %] |
| 715 |
</span> |
| 716 |
[% END %] |
| 717 |
[% END %] |
| 718 |
</td> |
| 719 |
[% END %] |
| 720 |
[% IF ( previssue.return_failed ) %] |
| 721 |
<td class="problem">Check-in failed</td> |
| 722 |
[% ELSE %] |
| 723 |
[% IF ( previssue.renew_error_on_reserve ) %] |
| 724 |
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% previssue.biblionumber %]">On hold</a> |
| 725 |
<input type="checkbox" name="all_barcodes[]" value="[% previssue.barcode %]" checked="checked" style="display: none;" /> |
| 726 |
</td> |
| 727 |
[% ELSE %] |
| 728 |
<td><input type="checkbox" class="radio" name="barcodes[]" value="[% previssue.barcode %]" /> |
| 729 |
<input type="checkbox" name="all_barcodes[]" value="[% previssue.barcode %]" checked="checked" style="display: none;" /> |
| 730 |
</td> |
| 731 |
[% END %] |
| 732 |
[% END %] |
| 733 |
[% IF ( exports_enabled ) %] |
| 734 |
<td style="text-align:center;"> |
| 735 |
<input type="checkbox" id="export_[% previssue.biblionumber %]" name="biblionumbers" value="[% previssue.biblionumber %]" /> |
| 736 |
<input type="checkbox" name="itemnumbers" value="[% previssue.itemnumber %]" style="visibility:hidden;" /> |
| 737 |
</td> |
| 738 |
[% END %] |
| 739 |
</tr> |
| 740 |
<!-- /loop previssues -->[% END %] |
| 741 |
<!--/if previssues -->[% END %] |
| 742 |
</tbody> |
| 743 |
</table> |
| 744 |
[% IF ( issuecount ) %] |
| 745 |
<fieldset class="action"> |
| 746 |
[% IF ( CAN_user_circulate_override_renewals ) %] |
| 747 |
[% IF ( AllowRenewalLimitOverride ) %] |
| 748 |
<label for="override_limit">Override renewal limit:</label> |
| 749 |
<input type="checkbox" name="override_limit" id="override_limit" value="1" /> |
| 750 |
[% END %] |
| 751 |
[% END %] |
| 752 |
<input type="submit" name="renew_checked" value="Renew or Return checked items" /> |
| 753 |
<input type="submit" id="renew_all" name="renew_all" value="Renew all" /> |
| 754 |
</fieldset> |
| 755 |
[% IF ( exports_enabled ) %] |
| 756 |
<fieldset> |
| 757 |
<label for="export_formats"><b>Export checkouts using format:</b></label> |
| 758 |
<select name="export_formats" id="export_formats"> |
| 759 |
<option value="iso2709_995">ISO2709 with items</option> |
| 760 |
<option value="iso2709">ISO2709 without items</option> |
| 761 |
[% IF ( export_with_csv_profile ) %] |
| 762 |
<option value="csv">CSV</option> |
| 763 |
[% END %] |
| 764 |
|
| 765 |
</select> |
| 766 |
<label for="export_remove_fields">Don't export fields:</label> <input type="text" id="export_remove_fields" name="export_remove_fields" value="[% export_remove_fields %]" title="Use for iso2709 exports" /> |
| 767 |
<input type="hidden" name="op" value="export" /> |
| 768 |
<input type="hidden" id="export_format" name="format" value="iso2709" /> |
| 769 |
<input type="hidden" id="dont_export_item" name="dont_export_item" value="0" /> |
| 770 |
<input type="hidden" id="record_type" name="record_type" value="bibs" /> |
| 771 |
<input type="button" id="export_submit" value="Export" /> |
| 772 |
</fieldset> |
| 773 |
[% END %] |
| 774 |
[% END %] |
| 775 |
</form> |
| 776 |
<p ng-hide="checkouts.length">Patron has nothing checked out.</p> |
| 777 |
|
| 778 |
</div> |
| 779 |
|
| 780 |
|
| 781 |
[% IF ( displayrelissues ) %] |
| 782 |
<div id="relissues"> |
| 783 |
<table id="relissuest"> |
| 784 |
<thead> |
| 785 |
<tr> |
| 786 |
<th scope="col" class="title-string">Due date</th> |
| 787 |
<th scope="col" class="anti-the">Title</th> |
| 788 |
<th scope="col">Item type</th> |
| 789 |
<th scope="col" class="title-string">Checked out on</th> |
| 790 |
<th scope="col">Checked out from</th> |
| 791 |
<th scope="col">Call no</th> |
| 792 |
<th scope="col">Charge</th> |
| 793 |
<th scope="col">Price</th> |
| 794 |
<th scope="col" class="html-content">Patron</th> |
| 795 |
</tr> |
| 796 |
</thead> |
| 797 |
[% IF ( relissues ) %] <tbody> |
| 798 |
|
| 799 |
[% FOREACH relissue IN relissues %] |
| 800 |
[% IF ( loop.odd ) %] |
| 801 |
<tr> |
| 802 |
[% ELSE %] |
| 803 |
<tr class="highlight"> |
| 804 |
[% END %] |
| 805 |
[% IF ( relissue.overdue ) %]<td class="od">[% ELSE %]<td>[% END %] |
| 806 |
<span title="[% relissue.dd_sort %]">[% relissue.dd %]</span></td> |
| 807 |
|
| 808 |
[% IF ( relissue.itemlost ) %] |
| 809 |
<span class="lost">[% AuthorisedValues.GetByCode( 'LOST', relissue.itemlost ) %]</span> |
| 810 |
[% END %] |
| 811 |
[% IF ( relissue.damaged ) %] |
| 812 |
<span class="dmg">[% AuthorisedValues.GetByCode( 'DAMAGED', relissue.damaged ) %]</span> |
| 813 |
[% END %] |
| 814 |
</td> |
| 815 |
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relissue.biblionumber %]&type=intra"><strong>[% relissue.title |html %][% FOREACH subtitl IN relissue.subtitle %] [% subtitl.subfield %][% END %]</strong></a>[% IF ( relissue.author ) %], by [% relissue.author %][% END %][% IF ( relissue.itemnotes ) %]- <span class="circ-hlt">[% relissue.itemnotes %]</span>[% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relissue.biblionumber %]&itemnumber=[% relissue.itemnumber %]#item[% relissue.itemnumber %]">[% relissue.barcode %]</a></td> |
| 816 |
<td>[% UNLESS ( noItemTypeImages ) %] [% IF ( relissue.itemtype_image ) %]<img src="[% relissue.itemtype_image %]" alt="" />[% END %][% END %][% relissue.itemtype %]</td> |
| 817 |
<td><span title="[% relissue.displaydate_sort %]">[% relissue.displaydate %]</span></td> |
| 818 |
<td>[% relissue.issuingbranchname %]</td> |
| 819 |
<td>[% relissue.itemcallnumber %]</td> |
| 820 |
<td>[% relissue.charge %]</td> |
| 821 |
<td>[% relissue.replacementprice %]</td><td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% relissue.borrowernumber %]">[% relissue.firstname %] [% relissue.surname %] ([% relissue.cardnumber %])</a></td> |
| 822 |
</tr> |
| 823 |
[% END %] <!-- /loop relissues --> |
| 824 |
<!-- /if relissues -->[% END %] |
| 825 |
[% IF ( relprevissues ) %] |
| 826 |
[% IF ( UseTablesortForCirc ) %]<tr id="relprevious"><th><span title="">Previous checkouts</span></th><th></th><th></th><th><span title=""></span></th><th></th><th></th><th></th><th></th><th></th></tr>[% ELSE %]<tr id="relprevious"><th colspan="9">Previous checkouts</th></tr>[% END %] |
| 827 |
[% FOREACH relprevissue IN relprevissues %] |
| 828 |
[% IF ( loop.odd ) %] |
| 829 |
<tr> |
| 830 |
[% ELSE %] |
| 831 |
<tr class="highlight"> |
| 832 |
[% END %] |
| 833 |
[% IF ( relprevissue.overdue ) %]<td class="od">[% ELSE %]<td>[% END %] |
| 834 |
<span title="[% relprevissue.dd_sort %]">[% relprevissue.dd %]</span> |
| 835 |
</td> |
| 836 |
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% relprevissue.biblionumber %]&type=intra"><strong>[% relprevissue.title |html %][% FOREACH subtitl IN relprevissue.subtitle %] [% subtitl.subfield %][% END %]</strong></a>[% IF ( relprevissue.author ) %], by [% relprevissue.author %][% END %] [% IF ( relprevissue.itemnotes ) %]- [% relprevissue.itemnotes %][% END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% relprevissue.biblionumber %]&itemnumber=[% relprevissue.itemnumber %]#item[% relprevissue.itemnumber %]">[% relprevissue.barcode %]</a></td> |
| 837 |
<td>[% UNLESS noItemTypeImages %][% IF relprevissue.itemtype_image %]<img src="[% relprevissue.itemtype_image %]" alt="" />[% END %][% END %][% relprevissue.itemtype %]</td> |
| 838 |
<td><span title="[% relprevissue.displaydate_sort %]">[% relprevissue.displaydate %]</span></td> |
| 839 |
<td>[% relprevissue.issuingbranchname %]</td> |
| 840 |
<td>[% relprevissue.itemcallnumber %]</td> |
| 841 |
[% IF ( relprevissue.multiple_borrowers ) %]<td>[% relprevissue.firstname %] [% relprevissue.surname %]</td>[% END %] |
| 842 |
<td>[% relprevissue.charge %]</td> |
| 843 |
<td>[% relprevissue.replacementprice %]</td> |
| 844 |
<td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% relprevissue.borrowernumber %]">[% relprevissue.firstname %] [% relprevissue.surname %] ([% relprevissue.cardnumber %])</a></td> |
| 845 |
|
| 846 |
</tr> |
| 847 |
<!-- /loop relprevissue -->[% END %] |
| 848 |
<!--/if relprevissues -->[% END %] |
| 849 |
</tbody> |
| 850 |
</table> |
| 851 |
|
| 852 |
</div> |
| 853 |
[% END %]<!-- end displayrelissues --> |
| 854 |
|
| 855 |
[% INCLUDE borrower_debarments.inc %] |
| 856 |
|
| 857 |
<div id="reserves"> |
| 858 |
[% IF ( reservloop ) %] |
| 859 |
<form action="/cgi-bin/koha/reserve/modrequest.pl" method="post"> |
| 860 |
<input type="hidden" name="from" value="circ" /> |
| 861 |
<table id="holdst"> |
| 862 |
<thead><tr> |
| 863 |
<th>Hold date</th> |
| 864 |
<th>Title</th> |
| 865 |
<th>Call number</th> |
| 866 |
<th>Barcode</th> |
| 867 |
<th>Expiration</th> |
| 868 |
<th>Priority</th> |
| 869 |
<th>Delete?</th> |
| 870 |
<th> </th> |
| 871 |
</tr></thead> |
| 872 |
<tbody> |
| 873 |
[% FOREACH reservloo IN reservloop %] |
| 874 |
<tr class="[% reservloo.color %]"> |
| 875 |
<td>[% reservloo.reservedate %]</td> |
| 876 |
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% reservloo.biblionumber %]"><strong>[% reservloo.title |html %][% FOREACH subtitl IN reservloo.subtitle %] [% subtitl.subfield %][% END %]</strong></a>[% IF ( reservloo.author ) %], by [% reservloo.author %][% END %]</td> |
| 877 |
<td>[% reservloo.itemcallnumber %]</td> |
| 878 |
<td><em>[% IF ( reservloo.barcodereserv ) %]Item [% reservloo.barcodereserv %] |
| 879 |
[% END %][% IF ( reservloo.waiting ) %] <strong>waiting at [% reservloo.waitingat %]</strong> |
| 880 |
[% END %] |
| 881 |
[% IF ( reservloo.transfered ) %] <strong>in transit</strong> from |
| 882 |
[% reservloo.frombranch %] since [% reservloo.datesent %] |
| 883 |
[% END %] |
| 884 |
[% IF ( reservloo.nottransfered ) %] hasn't been transferred yet from [% reservloo.nottransferedby %]</i> |
| 885 |
[% END %]</em></td> |
| 886 |
<td>[% reservloo.expirationdate | $KohaDates %]</td> |
| 887 |
<td> |
| 888 |
[% IF ( reservloo.waitingposition ) %]<b> [% reservloo.waitingposition %] </b>[% END %] |
| 889 |
</td> |
| 890 |
<td><select name="rank-request"> |
| 891 |
<option value="n">No</option> |
| 892 |
<option value="del">Yes</option> |
| 893 |
</select> |
| 894 |
<input type="hidden" name="biblionumber" value="[% reservloo.biblionumber %]" /> |
| 895 |
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" /> |
| 896 |
<input type="hidden" name="reserve_id" value="[% reservloo.reserve_id %]" /> |
| 897 |
</td> |
| 898 |
<td>[% IF ( reservloo.suspend ) %]Suspended [% IF ( reservloo.suspend_until ) %] until [% reservloo.suspend_until | $KohaDates %][% END %][% END %]</td> |
| 899 |
</tr> |
| 900 |
[% END %]</tbody> |
| 901 |
</table> |
| 902 |
<fieldset class="action"><input type="submit" class="cancel" name="submit" value="Cancel marked holds" /></fieldset> |
| 903 |
</form> |
| 904 |
|
| 905 |
[% IF SuspendHoldsIntranet %] |
| 906 |
<fieldset class="action"> |
| 907 |
<form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post"> |
| 908 |
<input type="hidden" name="from" value="circ" /> |
| 909 |
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" /> |
| 910 |
<input type="submit" value="Suspend all holds" /> |
| 911 |
|
| 912 |
[% IF AutoResumeSuspendedHolds %] |
| 913 |
<label for="suspend_until">until</label> |
| 914 |
<input type="text" size="10" id="suspend_until" name="suspend_until" class="datepicker" /> |
| 915 |
<span class="hint">Specify date on which to resume [% INCLUDE 'date-format.inc' %]: </span> |
| 916 |
[% END %] |
| 917 |
</form> |
| 918 |
</fieldset> |
| 919 |
|
| 920 |
<fieldset class="action"> |
| 921 |
<form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post"> |
| 922 |
<input type="hidden" name="from" value="circ" /> |
| 923 |
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" /> |
| 924 |
<input type="hidden" name="suspend" value="0" /> |
| 925 |
<input type="submit" value="Resume all suspended holds" /> |
| 926 |
</form> |
| 927 |
</fieldset> |
| 928 |
[% END # IF SuspendHoldsIntranet %] |
| 929 |
|
| 930 |
[% ELSE %] |
| 931 |
<p>Patron has nothing on hold.</p> |
| 932 |
[% END %] |
| 933 |
</div> <!-- reservesloop --> |
| 934 |
|
| 935 |
</div></div> |
| 936 |
|
| 937 |
|
| 938 |
|
| 939 |
</div> |
| 940 |
</div> |
| 941 |
<div class="yui-b"> |
| 942 |
[% INCLUDE 'circ-menu.inc' %] |
| 943 |
</div> |
| 944 |
</div> |
| 945 |
[% INCLUDE 'intranet-bottom.inc' %] |