7 [% USE ColumnsSettings %]
10 [% USE AuthorisedValues %]
11 [% SET footerjs = 1 %]
12 [% INCLUDE 'doc-head-open.inc' %]
13 [% SET destination = "circ" %]
14 <title>Koha › Circulation
16 › Checking out to [% INCLUDE 'patron-title.inc' invert_name = 1 no_html = 1 %]
19 [% INCLUDE 'doc-head-close.inc' %]
20 [% Asset.css("css/datatables.css") | $raw %]
23 <body id="circ_circulation" class="circ">
25 [% INCLUDE 'header.inc' %]
26 [% INCLUDE 'circ-search.inc' %]
28 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> ›
30 <a href="/cgi-bin/koha/circ/circulation.pl">Checkouts</a> › [% INCLUDE 'patron-title.inc' %]
32 <strong>Checkouts</strong>
35 [% IF ( $borrowers ) %]
36 <div id="doc" class="yui-t7">
42 <div id="doc3" class="yui-t2">
50 [% INCLUDE 'members-toolbar.inc' %]
53 <!-- INITIAL BLOC : PARAMETERS & BORROWER INFO -->
54 [% IF ( was_renewed ) %]<div class="dialog message">Patron's account has been renewed until [% expiry | $KohaDates %]</div>[% END %]
57 <div id="autoswitched" class="dialog message">Patron was automatically switched by reading the patron card during checking out. Ensure you are working with the right patron.</div>
60 [% IF additional_materials %]
61 <div id="materials" class="dialog message">Note about the accompanying materials: <br />
62 [% additional_materials | html %]
66 [% IF ( alert.ITEM_LOST ) %]
67 <div class="dialog message">This item has been lost with a status of "[% alert.ITEM_LOST | html %]".</div>
70 [% IF ( alert.OTHER_CHARGES ) %]
71 <div class="dialog message">The patron has unpaid charges for holds, rentals etc of [% alert.OTHER_CHARGES | html %]</div>
74 [% IF alert.HIGHHOLDS %]
75 <div class="dialog message">High demand item. <b>Loan period was not shortened due to override.</b> Shortened due date would have been [% alert.HIGHHOLDS.returndate | html %] ([% alert.HIGHHOLDS.duration | html %] days).</div>
78 [% IF ( nopermission ) %]
79 <div class="dialog alert">Staff members are not allowed to discharge borrowers, nor borrowers to request a discharge.</div>
82 [% IF ( NEEDSCONFIRMATION ) %]
85 <div id="circ_needsconfirmation" class="dialog alert audio-alert-action">
86 [% IF CAN_user_circulate_force_checkout %]
87 <h3>Please confirm checkout</h3>
89 <h3>Cannot check out</h3>
93 [%IF ( AGE_RESTRICTION ) %]
94 <li>Age restriction [% AGE_RESTRICTION | html %].
95 [% IF CAN_user_circulate_force_checkout %]
102 <li>The patron has a debt of [% DEBT | $Price | html %].</li>
105 [% IF ( DEBT_GUARANTEES ) %]
106 <li>The patron's guarantees collectively have a debt of [% DEBT_GUARANTEES | $Price | html %].</li>
109 [% IF ( RENTALCHARGE && RENTALCHARGE > 0 ) %]
110 <li>Rental charge for this item: [% RENTALCHARGE | html %]</li>
113 [% IF ( RENEW_ISSUE ) %]
114 <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) is currently checked out to this patron. Renew?</li>
117 [% IF ( RESERVE_WAITING ) %]
118 <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) has been waiting for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | html %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) at [% Branches.GetName( resbranchcode ) | html %] since [% reswaitingdate | $KohaDates %]</li>
121 [% IF ( RESERVED ) %]
122 <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) has been on hold for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | html %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) at [% Branches.GetName( resbranchcode ) | html %] since [% resreservedate | $KohaDates %]</li>
125 [% IF ( ISSUED_TO_ANOTHER ) %]
126 <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) is checked out to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% issued_borrowernumber | html %]">[% issued_firstname | html %] [% issued_surname | html %]</a> ([% issued_cardnumber | html %]).
127 [% IF CAN_user_circulate_force_checkout %]
128 Check in and check out?
133 [% IF TOO_MANY and TOO_MANY == 'TOO_MANY_CHECKOUTS' %]
134 <li>Too many checked out. [% current_loan_count | html %] checked out, only [% max_loans_allowed | html %] are allowed.</li>
137 [% IF TOO_MANY and TOO_MANY == 'TOO_MANY_ONSITE_CHECKOUTS' %]
138 <li>Too many on-site checked out. [% current_loan_count | html %] on-site checked out, only [% max_loans_allowed | html %] are allowed.</li>
141 [% IF ( BORRNOTSAMEBRANCH ) %]
142 <li>This patron is from a different library ([% Branches.GetName( BORRNOTSAMEBRANCH ) | html %])</li>
145 [% IF ( PATRON_CANT ) %]
146 <li>This patron can't check out this item per library circulation policy.</li>
149 [% IF ( TOO_MANY and TOO_MANY == 'NO_RULE_DEFINED' ) %]
150 <li>No circulation rule is defined for this patron and itemtype combination.</li>
153 [% IF ( NOT_FOR_LOAN_FORCING ) %]
155 [% IF ( itemtype_notforloan ) %]
156 Item type is normally not for loan.
157 [% ELSIF ( item_notforloan ) %]
158 [% item_notforloan_lib = AuthorisedValues.GetByCode( authvalcode_notforloan, item_notforloan, 0 ) | html %]
159 Item is normally not for loan [% IF (item_notforloan_lib) %]([% item_notforloan_lib | html %])[% END %].
161 [% IF CAN_user_circulate_force_checkout %]
167 [% IF ( USERBLOCKEDOVERDUE ) %]
168 <li>Patron has [% USERBLOCKEDOVERDUE %] overdue item(s).
169 [% IF CAN_user_circulate_force_checkout %]
175 [% IF ( ITEM_LOST ) %]
176 <li>This item has been lost with a status of "[% ITEM_LOST | html %]".
177 [% IF CAN_user_circulate_force_checkout %]
184 <li>High demand item. Loan period shortened to [% HIGHHOLDS.duration | html %] days (due [% HIGHHOLDS.returndate | html %]). Check out anyway?</li>
188 <li>Patron has previously checked out this title: <b>[% biblio.title | html %] [% IF biblio.author %] by [% biblio.author | html %][% END %]</b>. Check out anyway?</li>
191 [% IF BIBLIO_ALREADY_ISSUED %]
193 Patron has already checked out another item from this record.
194 [% IF CAN_user_circulate_force_checkout %]
201 [% IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
202 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" autocomplete="off">
203 <input type="hidden" name="restoreduedatespec" />
205 [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
208 <p class="circ-override-high-holds">
209 <input type="checkbox" name="override_high_holds_tmp" id="override_high_holds_tmp" value="1" />
210 <label for="override_high_holds_tmp">Don't decrease loan length based on holds</label>
214 [% IF ( RESERVED ) %]
216 <input type="checkbox" id="cancelreserve" name="cancelreserve" value="cancel" />
217 <label for="cancelreserve">Cancel hold</label>
221 [% IF ( RESERVE_WAITING ) %]
223 <label for="cancelreserve">Cancel hold</label>
224 <input type="radio" value="cancel" name="cancelreserve" id="cancelreserve" /><br />
225 <label for="revertreserve">Revert waiting status</label>
226 <input type="radio" value="revert" name="cancelreserve" id="revertreserve" checked="checked"/>
230 <input type="hidden" name="barcode" value="[% barcode | html %]" />
231 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
232 <input type="hidden" name="issueconfirmed" value="1" />
233 <input type="hidden" name="override_high_holds" value="[% override_high_holds | html %]"/>
234 [% IF ( DEBT ) %]<input type="hidden" name="debt_confirmed" value="1" />[% END %]
235 [% IF ( INVALID_DATE ) %]
237 <input type="text" size="13" id="duedatespec" name="duedatespec" value="[% duedatespec | html %]" />
238 <label for="duedatespec">Due date</label>
241 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
243 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
244 <input type="hidden" name="branch" value="[% branch | html %]" />
245 [% IF ( RENEW_ISSUE ) %]
246 <button type="submit" class="approve" accesskey="y"><i class="fa fa-check"></i> Yes, renew (Y)</button>
248 <button type="submit" class="approve" accesskey="y"><i class="fa fa-check"></i> Yes, check out (Y)</button>
250 <input type="hidden" name="onsite_checkout" value="[% onsite_checkout | html %]" />
251 <input type="hidden" name="auto_renew" value="[% auto_renew | html %]" />
255 [% IF ( RESERVED ) %]
256 <form method="get" action="/cgi-bin/koha/circ/circulation.pl">
257 <input type="hidden" name="restoreduedatespec" />
258 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
259 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
260 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
261 <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber | html %]&biblionumber=[% itembiblionumber | html %]&itemnumber=[% item.itemnumber | html %]&op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
265 [% IF ( RESERVE_WAITING ) %]
266 <form method="get" action="/cgi-bin/koha/circ/circulation.pl">
267 <input type="hidden" name="restoreduedatespec" />
268 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
269 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
270 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
271 <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber | html %]&biblionumber=[% itembiblionumber | html %]&itemnumber=[% item.itemnumber | html %]&op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
275 <form method="get" action="/cgi-bin/koha/circ/circulation.pl">
276 [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
277 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
278 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
279 <input type="hidden" name="restoreduedatespec" />
280 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
281 [% IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
282 [% IF ( RENEW_ISSUE ) %]
283 <button type="submit" class="deny" accesskey="n"><i class="fa fa-times"></i> No, don't renew (N)</button>
285 <button type="submit" class="deny" accesskey="n"><i class="fa fa-times"></i> No, don't check out (N)</button>
288 <button type="submit" class="deny"><i class="fa fa-times"></i> Continue</button>
292 [% IF ( RESERVED || ISSUED_TO_ANOTHER ) && (CAN_user_reserveforothers_place_holds ) %]
293 [% UNLESS noissues %]
294 <button type="submit" onclick="window.location.href='/cgi-bin/koha/reserve/request.pl?biblionumber=[% itembiblionumber | html %]&borrowernumber=[% patron.borrowernumber | html %]'"><i class="fa fa-sticky-note-o"></i> Cancel checkout and place a hold for [% INCLUDE 'patron-title.inc' %]</button>
298 [% END %] <!-- NEEDSCONFIRMATION -->
300 [% IF ( IMPOSSIBLE ) %]
303 <div id="circ_impossible" class="dialog alert audio-alert-warning">
304 [% IF ( UNKNOWN_BARCODE ) %]
305 <h3>Barcode not found</h3>
307 <!-- RESULT OF ISSUING REQUEST -->
310 <li>Local use recorded</li>
313 [% IF ( INVALID_DATE ) %]
314 <li>The due date "[% INVALID_DATE | html %]" is invalid</li>
317 [% IF ( UNKNOWN_BARCODE ) %]
318 <li>The barcode was not found: <span class="ex">[% barcode | html %]</span>
321 [% IF ( FALLBACK ) %]
323 <button type="button" class="approve" data-toggle="modal" data-target="#itemSearchFallback"><i class="fa fa-search"></i> Show matching titles</button>
325 <div>No items were found by searching.</div>
329 [% IF ( fast_cataloging ) %]
330 [% IF ( CAN_user_editcatalogue_fast_cataloging ) %]
331 <a class="approve" href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=FA&barcode=[% barcode |uri %]&circborrowernumber=[% patron.borrowernumber | html %]&branch=[% branch | html %]&duedatespec=[% duedatespec | html %]&stickyduedate=[% stickyduedate | html %]"><i class="fa fa-plus"></i> Add record using fast cataloging</a>
339 [% IF ( NOT_FOR_LOAN ) %]
341 [% IF ( itemtype_notforloan ) %]
342 Item type not for loan.
343 [% ELSIF ( item_notforloan ) %]
344 [% item_notforloan_lib = AuthorisedValues.GetByCode( authvalcode_notforloan, item_notforloan, 0 ) | html %]
345 Item not for loan [% IF (item_notforloan_lib) %]([% item_notforloan_lib | html %])[% END %].
350 [% IF ( WTHDRAWN ) %]
351 <li>Item has been withdrawn</li>
354 [% IF ( RESTRICTED ) %]
355 <li>Item is restricted</li>
359 <li>Patron's address is in doubt</li>
362 [% IF ( CARD_LOST ) %]
363 <li>Patron's card is lost</li>
366 [% IF ( DEBARRED ) %]
367 <li>Patron is restricted</li>
370 [% IF ( NO_MORE_RENEWALS ) %]
371 <li>No more renewals possible</li>
374 [% IF NO_RENEWAL_FOR_ONSITE_CHECKOUTS %]
375 <li>This item can not be renewed, it's an on-site checkout</li>
378 [%IF ( AGE_RESTRICTION ) %]
379 <li>Age restriction [% AGE_RESTRICTION | html %].</li>
383 <li>Patron's card is expired</li>
386 [% IF ( TOO_MANY ) %]
387 <li>Too many checked out. [% current_loan_count | html %] checked out, only [% max_loans_allowed | html %] are allowed.</li>
390 [% IF ( ITEMNOTSAMEBRANCH ) %]
391 <li>This item belongs to [% Branches.GetName( itemhomebranch ) | html %] and cannot be checked out from this location.</li>
394 [% IF RETURN_IMPOSSIBLE %]
395 <li>This item must be returned to [% Branches.GetName( branch_to_return ) | html %].</li>
398 [% IF ( USERBLOCKEDWITHENDDATE ) %]
399 <li>Patron has a restriction until [% USERBLOCKEDWITHENDDATE | $KohaDates %].</li>
402 [% IF ( USERBLOCKEDNOENDDATE ) %]
403 <li>Patron has an indefinite restriction.</li>
406 [% IF ( USERBLOCKEDOVERDUE ) %]
407 <li>Checkouts are BLOCKED because patron has overdue items.</li>
411 [% IF (forceallow) %]
412 <li>Restriction overridden temporarily.</li>
417 [% IF ( FALLBACK ) %]
421 <div class="modal" id="itemSearchFallback" tabindex="-1" role="dialog" aria-labelledby="itemSearchFallbackLabel">
422 <div class="modal-dialog modal-wide" role="document">
423 <div class="modal-content">
424 <div class="modal-header">
425 <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
426 <h3 id="itemSearchFallbackLabel"><h3>Barcode not found. The following items were found by searching:</h3>
428 <div class="modal-body">
429 <table class="table_borrowers">
430 [% FOREACH book IN options %]
433 <a class="popup" target="_blank" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% book.biblionumber | html %]">[% book.title | html %]</a>
434 [% book.barcode | html %]
437 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" autocomplete="off">
438 [% IF (forceallow) %]
439 <input type="hidden" name="forceallow" value="1">
441 <input type="hidden" name="restoreduedatespec" />
442 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
443 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
444 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
445 <input type="hidden" name="branch" value="[% branch | html %]" />
446 <input type="hidden" name="barcode" value="[% book.barcode | html %]" />
447 <button class="btn btn-default btn-xs" type="submit" name="x"><i class="fa fa-check"></i> Check out</button>
454 <div class="modal-footer">
455 <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
464 [% IF (forceallow) %]
465 <div id="overridden_debarment" class="dialog alert">Restriction overridden temporarily</div>
467 [% END %] <!-- /impossible -->
469 <span class="audio-alert-success"></span>
472 <p>Item checked out</p>
476 [% INCLUDE 'patron-toolbar.inc' %]
478 No patron matched <span class="ex">[% message | html %]</span>
482 [% IF ( borrowers ) %]
483 [% INCLUDE 'patron-toolbar.inc' %]
485 <fieldset id="circ_circulation_selectborrower">
486 [% INCLUDE 'circ-patron-search-results.inc' destination = "circ" %]
490 <!-- BARCODE ENTRY -->
495 [% IF privacy == 2 AND NOT Koha.Preference('AnonymousPatron') %]
496 <div class="dialog alert"><strong>Error:</strong> This patron has requested their circulation history be anonymized on check-in, but the AnonymousPatron system preference is empty or incorrect.</div>
499 [% IF ( !noissues ) || ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') )%]
500 <div class="yui-u first">
502 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" id="mainform" name="mainform" autocomplete="off">
503 <input type="hidden" name="restoreduedatespec" />
505 <fieldset id="circ_circulation_issue" class="lastchecked">
507 <fieldset id="circ_circulation_issue">
509 [% IF ( DisplayClearScreenButton ) %]
510 <span id="clearscreen"><a href="/cgi-bin/koha/circ/circulation.pl" title="Clear screen">x</a></span>
513 [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
515 <label class="circ_barcode" for="barcode">Checking out to [% INCLUDE 'patron-title.inc' %]</label>
517 [% IF Koha.Preference('itemBarcodeFallbackSearch') %]
518 <div class="hint">Enter item barcode or keyword:</div>
520 <div class="hint">Enter item barcode:</div>
523 [% IF NEEDSCONFIRMATION %]
524 <input type="text" name="barcode" id="barcode" class="barcode focus" size="14" disabled="disabled" />
526 <input type="text" name="barcode" id="barcode" class="barcode focus" size="14" />
528 <button type="submit" class="btn btn-default">Check out</button>
530 <div id="show-checkout-settings">
531 <a href="#"><i class="fa fa-caret-right checkout-settings-icon"></i> Checkout settings</a>
534 <div class="checkout-settings">
536 [% UNLESS ( noissues && Koha.Preference('OnSiteCheckoutsForce') ) %]
537 [% IF ( SpecifyDueDate ) %]
538 <div id="specify-due-date" class="checkout-setting">
539 <div class="hint">Specify due date [% INCLUDE 'date-format.inc' %]: </div>
540 [% IF ( duedatespec ) %]
541 <input type="text" size="13" id="duedatespec" name="duedatespec" value="[% duedatespec | html %]" />
543 <input type="text" size="13" id="duedatespec" name="duedatespec" value="" />
545 <label for="stickyduedate"> Remember for session:</label>
546 [% IF ( stickyduedate ) %]
547 <input type="checkbox" id="stickyduedate" onclick="this.form.barcode.focus();" name="stickyduedate" checked="checked" />
549 <input type="checkbox" id="stickyduedate" onclick="this.form.barcode.focus();" name="stickyduedate" />
551 <button class="btn btn-default btn-sm action" id="cleardate" name="cleardate" onclick="this.checked = false; this.form.duedatespec.value = ''; this.form.stickyduedate.checked = false; this.form.barcode.focus(); return false;" >Clear</button>
556 [% UNLESS ( noissues ) %]
557 <div id="set-automatic-renewal" class="checkout-setting">
558 [% IF NEEDSCONFIRMATION %]
559 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" />
561 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" />
564 <label for="auto_renew">Automatic renewal</label>
566 [% IF Koha.Preference('decreaseLoanHighHolds') %]
567 <div id="set_high_holds_overrride" class="checkout-setting">
568 [% IF NEEDSCONFIRMATION %]
569 [% IF override_high_holds %]
570 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" disabled="disabled" checked="checked"/>
572 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" disabled="disabled"/>
575 [% IF override_high_holds %]
576 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" class="circ_setting" checked="checked" />
578 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" class="circ_setting" />
581 <label for="override_high_holds">Don't decrease checkout length based on holds</label>
586 [% IF Koha.Preference('OnSiteCheckouts') %]
587 <div id="onsite_checkout-select" class="checkout-setting">
589 <div class="onsite-checkout-only">
590 <input type="checkbox" id="onsite_checkout" name="onsite_checkout_forced" checked="checked" disabled="disabled" /> <label for="onsite_checkout">On-site checkouts only. Automatic due date: </label>
591 <input type="text" name="duedatespec" id="duedatespec" />
592 <input type="hidden" name="onsite_checkout" checked="checked" value="1" />
595 <input type="checkbox" id="onsite_checkout" name="onsite_checkout" class="circ_setting" /> <label for="onsite_checkout">On-site checkout</label>
600 </div> <!-- /.checkout-settings -->
602 <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% patron.borrowernumber | html %]" />
603 <input type="hidden" name="branch" value="[% branch | html %]" />
604 <input type="hidden" name="print" value="maybe" />
605 <input type="hidden" name="debt_confirmed" value="[% debt_confirmed | html %]" />
607 <input type="hidden" name="charges" value="yes" />
611 <div class="lastchecked">
612 <p><strong>Checked out: </strong>[% issue.item.biblioitemnumber.biblionumber.title | html %] ([% issue.item.barcode | html %]). Due on [% issue.date_due | $KohaDates %]</p>
617 [% END %]<!-- /unless noissues -->
619 [% IF ( noissues ) %]
620 [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %]
629 [% IF ( noissues ) %]
630 [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %]
631 <div id="circmessages" class="circmessage attention">
633 <h4>Checking out to [% INCLUDE 'patron-title.inc' %]</h4>
634 <div id="circmessages" class="circmessage warning">
638 [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %]
639 <span class="circ-hlt">Only on-site checkouts are allowed</span>
643 <div id="circmessages" class="circmessage attention">
649 [% IF ( has_modifications ) %]
650 <li><span class="circ-hlt">Pending modifications:</span> Patron has pending modifications.
651 [% IF CAN_user_borrowers_edit_borrowers && ( !Koha.Preference('IndependentBranchesPatronModifications') || borrower.branch == branch ) %]
652 <a href="/cgi-bin/koha/members/members-update.pl">View all pending patron modifications</a>
657 [% IF ( warndeparture ) %]
658 <li><span class="circ-hlt">Expiration:</span> Patron's card will expire soon.
659 Patron's card expires on [% expiry | $KohaDates %] <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% patron.borrowernumber | html %]&destination=circ&reregistration=y">Renew</a> or <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% patron.borrowernumber | html %]&categorycode=[% categorycode | html %]">Edit Details</a>
664 [% IF ( returnbeforeexpiry ) %]
665 <li><span class="circ-hlt">Set due date to expiry:</span> You have the ReturnBeforeExpiry system preference enabled this means if the
666 expiry date is before the date due, the date due will be set to the expiry date
671 <li><span class="circ-hlt">Expiration:</span> Patron's card has expired.
672 [% IF ( expiry ) %]Patron's card expired on [% expiry | $KohaDates %][% END %] <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% patron.borrowernumber | html %]&destination=circ&reregistration=y">Renew</a> or <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% patron.borrowernumber | html %]&categorycode=[% categorycode | html %]">Edit Details</a>
678 <li class="blocker"><span class="circ-hlt">Address:</span> Patron's address in doubt</li>
682 <li class="blocker"><span class="circ-hlt">Lost: </span>Patron's card is lost</li>
685 [% IF ( userdebarred ) %]
687 <span class="circ-hlt"> Restricted:</span> Patron's account is restricted
689 [% IF ( userdebarreddate ) %]
690 until [% userdebarreddate | $KohaDates %]
693 [% IF ( debarredcomment ) %]
694 with the explanation: <br/><i>
695 [% IF debarredcomment.search('OVERDUES_PROCESS') %]
696 Restriction added by overdues process [% debarredcomment.remove('OVERDUES_PROCESS ') | $raw | html_line_break %]
698 [% debarredcomment | $raw | html_line_break %]
703 <a class="btn btn-default btn-sm" href="#reldebarments" onclick="$('#debarments-tab-link').click()"><i class="fa fa-ban"></i> View restrictions</a>
704 [% IF (noissues && patron && CAN_user_circulate_force_checkout) %]
705 <span class="override_debarment">
706 <a href="/cgi-bin/koha/circ/circulation.pl?forceallow=1&borrowernumber=[% patron.borrowernumber | html %]" class="btn btn-default btn-sm">Override restriction temporarily</a>
712 [% IF ( odues ) %]<li><span class="circ-hlt">Overdues: Patron has ITEMS OVERDUE.</span> <a href="#checkouts">See highlighted items below</a></li>
716 [% INCLUDE 'blocked-fines.inc' fines = chargesamount %]
719 [% IF ( charges_guarantees ) %]
721 <span class="circ-hlt">Fees & Charges:</span> Patron's guarantees collectively owe [% chargesamount_guarantees | $Price | html %].
723 <span class="circ-hlt">Checkouts are BLOCKED because fine balance is OVER THE LIMIT.</span>
731 <span class="circ-hlt">Credits:</span> Patron has a credit[% IF ( creditsamount ) %] of [% creditsamount | $Price | html %][% END %]
738 [% IF WaitingHolds.count %]
739 <div id="holdswaiting" class="circmessage">
740 <h4>Holds waiting:</h4>
741 [% FOREACH w IN WaitingHolds %]
744 <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% w.biblio.biblionumber | html %]">[% w.biblio.title | html %]</a>
745 ([% ItemTypes.GetDescription( w.item.effective_itemtype ) | html %]),
746 [% IF ( w.biblio.author ) %] by [% w.biblio.author | html %] [% END %]
747 [% IF ( w.item.itemcallnumber ) %] [[% w.item.itemcallnumber | html %]] [% END %]
748 Hold placed on [% w.reservedate | $KohaDates %].
751 [% IF ( w.branch.branchcode == Branches.GetLoggedInBranchcode() ) %]<strong class="waitinghere">[% ELSE %]<strong>[% END %]
752 [% SET expires_on = w.expirationdate %]
753 Waiting at [% w.branch.branchname | html %] [% IF expires_on %] until [% expires_on | $KohaDates %] [% END %]
762 <div id="circnotes" class="circmessage">
764 <p><span class="circ-hlt">[% notesmsg | html %]</span></p>
768 <!-- /If notes -->[% END %]
770 <div id="messages" class="circmessage">
773 [% FOREACH message IN messages %]
775 [% IF(message.message_type == "L") %]
776 <span class="circ-hlt">
780 [% message.message_date | $KohaDates %]
781 [% Branches.GetName( message.branchcode ) | html %]
782 [% IF message.manager_id %]
783 ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% message.manager_id | html %]">[% message.get_column('manager_firstname') | html %] [% message.get_column('manager_surname') | html %]</a> )
785 <i>"[% message.message | html %]"</i>
787 [% IF message.branchcode == branch OR Koha.Preference('AllowAllMessageDeletion') %]
788 <a class="btn btn-link btn-sm" href="/cgi-bin/koha/circ/del_message.pl?message_id=[% message.message_id | html %]&borrowernumber=[% message.borrowernumber | html %]" onclick="return confirm(MSG_CONFIRM_DELETE_MESSAGE);"><i class="fa fa-trash"></i> Delete</a>
793 <a id="addnewmessageLabel" href="#add_message_form" class="btn btn-link btn-sm" data-toggle="modal"><i class="fa fa-plus"></i> Add a new message</a>
799 <div class="yui-g"><div id="patronlists" class="toptabs">
803 [% IF ( issuecount ) %]
804 <a href="#checkouts">[% issuecount | html %] Checkout(s)</a>
806 <a href="#checkouts">0 Checkouts</a>
810 [% IF relatives_issues_count %]
811 <li><a id="relatives-issues-tab" href="#relatives-issues">Relatives' checkouts</a></li>
815 [% IF ( holds_count ) %]
816 <a href="#reserves" id="holds-tab">[% holds_count | html %] Hold(s)</a>
818 <a href="#reserves" id="holds-tab">0 Holds</a>
822 [% IF Koha.Preference('ArticleRequests') %]
824 <a href="#article-requests" id="article-requests-tab"> [% patron.article_requests_current.count | html %] Article requests</a>
828 <li><a id="debarments-tab-link" href="#reldebarments">[% debarments.count | html %] Restrictions</a></li>
830 [% SET enrollments = patron.get_club_enrollments(1) %]
831 [% SET enrollable = patron.get_enrollable_clubs(0,1) %]
832 [% IF CAN_user_clubs && ( enrollable.count || enrollments.count ) %]
834 <a id="clubs-tab-link" href="#clubs-tab">
835 Clubs ([% enrollments.count | html %]/[% enrollable.count | html %])
842 <!-- SUMMARY : TODAY & PREVIOUS ISSUES -->
844 [% INCLUDE "checkouts-table.inc" %]
846 [% IF ( relatives_issues_count ) %]
847 <div id="relatives-issues">
848 <table id="relatives-issues-table">
851 <th scope="col">Due date (unformatted, hidden)</th>
852 <th scope="col">Due date</th>
853 <th scope="col">Title</th>
854 <th scope="col">Item type</th>
855 <th scope="col">Collection code</th>
856 <th scope="col">Location</th>
857 <th scope="col">Checked out on</th>
858 <th scope="col">Checked out from</th>
859 <th scope="col">Call no</th>
860 <th scope="col">Charge</th>
861 <th scope="col">Fine</th>
862 <th scope="col">Price</th>
863 <th scope="col">Patron</th>
870 [% IF CAN_user_clubs && ( enrollable.count || enrollments.count ) %]
876 [% INCLUDE borrower_debarments.inc %]
879 [% IF ( holds_count ) %]
880 <form action="/cgi-bin/koha/reserve/modrequest.pl" method="post">
881 <input type="hidden" name="from" value="circ" />
882 <table id="holds-table" style="width: 100% !Important;">
898 <fieldset class="action">
899 <input type="submit" class="cancel" name="submit" value="Cancel marked holds" />
903 [% IF Koha.Preference('SuspendHoldsIntranet') %]
904 <fieldset class="action">
905 <form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
906 <input type="hidden" name="from" value="circ" />
907 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
908 <input type="submit" value="Suspend all holds" />
910 [% IF Koha.Preference('AutoResumeSuspendedHolds') %]
911 <label for="suspend_until">until</label>
912 <input type="text" size="10" id="suspend_until" name="suspend_until" class="datepicker"/>
913 <span class="hint">Specify date on which to resume [% INCLUDE 'date-format.inc' %]: </span>
918 <fieldset class="action">
919 <form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
920 <input type="hidden" name="from" value="circ" />
921 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
922 <input type="hidden" name="suspend" value="0" />
923 <input type="submit" value="Resume all suspended holds" />
926 [% END # IF SuspendHoldsIntranet %]
929 <p>Patron has nothing on hold.</p>
931 </div> <!-- reservesloop -->
933 [% IF Koha.Preference('ArticleRequests') %]
934 [% INCLUDE 'patron-article-requests.inc' %]
937 [% ELSIF borrowernumber %]
938 <div class="dialog message">This patron does not exist. <a href="/cgi-bin/koha/members/members-home.pl">Find another patron?</a></div>
942 [% IF Koha.Preference('CircSidebar') %]
943 [% UNLESS ( borrowers ) %]
944 [% IF not( borrowernumber and patron ) %]
945 <div class="yui-b noprint">
946 [% INCLUDE 'circ-nav.inc' %]
953 [% UNLESS ( borrowers ) %]
954 [% IF borrowernumber and patron %]
956 [% INCLUDE 'circ-menu.inc' %]
962 <div id="barcodeSubmittedModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="barcodeSubmittedModalLabel" aria-hidden="true">
963 <div class="modal-dialog">
964 <div class="modal-content">
965 <div class="modal-header">
966 <h3 id="barcodeSubmittedModalLabel">Barcode submitted</h3>
969 <div class="modal-body">
970 <p>You have already submitted a barcode, please wait for the checkout to process...</p>
976 [% MACRO jsinclude BLOCK %]
977 [% INCLUDE 'strings.inc' %]
978 [% INCLUDE 'calendar.inc' %]
979 [% INCLUDE 'datatables.inc' %]
980 [% INCLUDE 'columns_settings.inc' %]
981 [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
982 [% Asset.js("lib/jquery/plugins/jquery-ui-timepicker-addon.min.js") | $raw %]
983 [% INCLUDE 'timepicker.inc' %]
984 [% Asset.js("lib/jquery/plugins/jquery.dataTables.rowGrouping.js") | $raw %]
985 [% Asset.js("js/pages/circulation.js") | $raw %]
986 [% Asset.js("js/checkouts.js") | $raw %]
987 [% Asset.js("js/holds.js") | $raw %]
988 [% Asset.js("js/circ-patron-search-results.js") | $raw %]
989 <script type="text/javascript">
990 /* Set some variable needed in circulation.js */
991 var MSG_DT_LOADING_RECORDS = _("Loading... you may continue scanning.");
992 var interface = "[% interface | html %]";
993 var theme = "[% theme | html %]";
994 var borrowernumber = "[% patron.borrowernumber | html %]";
995 var branchcode = "[% branch | html %]";
996 var exports_enabled = "[% Koha.Preference('ExportCircHistory') | html %]";
997 var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalLimitOverride') )? 1: 0 | html %];
998 var AllowCirculate = [% (CAN_user_circulate_circulate_remaining_permissions)? 1 : 0 | html %];
999 var script = "circulation";
1000 var relatives_borrowernumbers = new Array();
1001 [% FOREACH b IN relatives_borrowernumbers %]
1002 relatives_borrowernumbers.push("[% b | html %]");
1005 var MSG_EXPORT_SELECT_CHECKOUTS = _("You must select checkout(s) to export");
1006 var MSG_CONFIRM_DELETE_MESSAGE = _("Are you sure you want to delete this message? This cannot be undone.");
1008 columns_settings = [% ColumnsSettings.GetColumns( 'circ', 'circulation', 'issues-table', 'json' ) | $raw %]
1010 [% IF borrowernumber and patron %]
1011 if($.cookie("holdfor") != [% patron.borrowernumber | html %]){
1012 $.removeCookie("holdfor", { path: '/' });
1015 $.removeCookie("holdfor", { path: '/' });
1018 [% UNLESS ( patron.borrowernumber ) %][% UNLESS ( borrowers ) %]window.onload=function(){ $('#findborrower').focus(); };[% END %][% END %]
1021 function toggle_onsite_checkout(){
1022 if ( $("#onsite_checkout").prop('checked') ) {
1023 $("#duedatespec").val("[% todaysdate | $KohaDates with_hours => 1 | html %]")
1024 [% IF !Koha.Preference('SpecifyDueDate') %]
1025 $("#duedatespec").datetimepicker('destroy');
1028 $("#duedatespec").datetimepicker({
1029 onClose: function(dateText, inst) {
1030 if (validate_date(dateText, inst) ) {
1031 $("#barcode").focus();
1036 }).on("change", function(e, value) {
1037 if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
1042 function Dopop(link) {
1043 var newin = window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top');
1045 $(document).ready(function() {
1046 $('#mainform').on('submit',function() {
1047 if ($("#barcode") && $("#barcode").val()) {
1048 $('#barcode').on('keypress',function(event) {
1049 $('#barcodeSubmittedModal').modal();
1050 event.preventDefault(); }
1055 if ( $('#clubs-tab').length ) {
1056 $('#clubs-tab-link').on('click', function() {
1057 $('#clubs-tab').text(_("Loading..."));
1058 $('#clubs-tab').load('/cgi-bin/koha/clubs/patron-clubs-tab.pl?borrowernumber=[% patron.borrowernumber | html %]');
1062 [% IF !( CircAutoPrintQuickSlip == 'clear' ) %]
1063 // listen submit to trigger qslip on empty checkout
1064 $('#mainform').bind('submit',function() {
1065 if ($('#barcode').val() == '') {
1066 return printx_window( '[% CircAutoPrintQuickSlip | html %]' );
1070 toggle_onsite_checkout();
1071 $("#onsite_checkout").click(function(){
1072 toggle_onsite_checkout();
1075 $("#suspend_until").datepicker({
1076 onClose: function(dateText, inst) {
1077 validate_date(dateText, inst);
1079 minDate: 1, // require that hold suspended until date is after today
1083 [% IF !override_high_holds %]
1084 $("input[name=duedatespec]:hidden").val('[% HIGHHOLDS.returndate | html %]');
1085 if ('[% duedatespec | html %]' === '') {
1086 $("input[name=restoreduedatespec]:hidden").val('highholds_empty');
1088 $("input[name=restoreduedatespec]:hidden").val('[% duedatespec | html %]');
1092 $("#override_high_holds_tmp").on( 'change', function() {
1093 if ( this.checked ) {
1094 $("input[name=duedatespec]:hidden").val('');
1100 [% INCLUDE 'str/members-menu.inc' %]
1101 [% Asset.js("js/members-menu.js") | $raw %]
1104 [% INCLUDE 'intranet-bottom.inc' %]