7 [% USE TablesSettings %]
10 [% USE AuthorisedValues %]
11 [% SET footerjs = 1 %]
12 [% INCLUDE 'doc-head-open.inc' %]
13 [% Asset.css("lib/jquery/plugins/rowGroup/stylesheets/rowGroup.dataTables.min.css") | $raw %]
14 [% SET destination = "circ" %]
17 Checking out to [% INCLUDE 'patron-title.inc' invert_name = 1 no_html = 1 %] › [% END %]
19 Circulation › Koha
21 [% INCLUDE 'doc-head-close.inc' %]
24 <body id="circ_circulation" class="circ">
26 [% INCLUDE 'header.inc' %]
27 [% INCLUDE 'circ-search.inc' %]
29 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
32 <a href="/cgi-bin/koha/mainpage.pl">Home</a>
35 <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a>
40 <a href="/cgi-bin/koha/circ/circulation.pl">Checkouts</a>
43 <a href="#" aria-current="page">
44 [% INCLUDE 'patron-title.inc' %]
49 <a href="#" aria-current="page">
57 <div class="main container-fluid">
60 <div class="col-sm-10 col-sm-push-2">
63 [% INCLUDE 'members-toolbar.inc' %]
66 <!-- INITIAL BLOC : PARAMETERS & BORROWER INFO -->
67 [% IF ( was_renewed ) %]
68 <div class="dialog message">Patron's account has been renewed until [% expiry | $KohaDates %]</div>
72 <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>
75 [% IF ADDITIONAL_MATERIALS && !NEEDSCONFIRMATION %]
76 <div id="materials" class="dialog message">Note about the accompanying materials: [% ADDITIONAL_MATERIALS | html %]
80 [% IF ( alert.ITEM_LOST ) %]
81 <div class="dialog message">This item has been lost with a status of "[% alert.ITEM_LOST | html %]".</div>
84 [% IF ( alert.OTHER_CHARGES ) %]
85 <div class="dialog message">The patron has unpaid charges for holds, rentals etc of [% alert.OTHER_CHARGES | $Price %]</div>
88 [% IF alert.HIGHHOLDS %]
89 <div class="dialog message">High demand item. <strong>Loan period was not shortened due to override.</strong> Shortened due date would have been [% alert.HIGHHOLDS.returndate | $KohaDates %] ([% alert.HIGHHOLDS.duration | html %] days).</div>
92 [% IF alert.RETURNED_FROM_ANOTHER %]
93 <div class="dialog alert">Item was checked out to [% INCLUDE 'patron-title.inc' patron = alert.RETURNED_FROM_ANOTHER.patron %] and was returned automatically.</div>
96 [% IF ( nopermission ) %]
97 <div class="dialog alert">Staff members are not allowed to discharge borrowers, nor borrowers to request a discharge.</div>
100 [% IF ( NEEDSCONFIRMATION ) %]
101 <div id="circ_needsconfirmation" class="dialog alert audio-alert-action focus" tabindex="-1">
102 [% IF CAN_user_circulate_force_checkout or ADDITIONAL_MATERIALS %]
103 <h3>Please confirm checkout</h3>
105 <h3>Cannot check out</h3>
109 [%IF ( AGE_RESTRICTION ) %]
111 Age restriction [% AGE_RESTRICTION | html %].
112 [% IF CAN_user_circulate_force_checkout %]
120 <li>The patron has a debt of [% DEBT | $Price %].</li>
123 [% IF ( DEBT_GUARANTEES ) %]
124 <li>The patron's guarantees collectively have a debt of [% DEBT_GUARANTEES | $Price %].</li>
127 [% IF ( DEBT_GUARANTORS ) %]
128 <li>The patron's guarantors and their other guarantees collectively have a debt of [% DEBT_GUARANTORS | $Price %].</li>
131 [% IF ( RENTALCHARGE && RENTALCHARGE > 0 ) %]
132 <li>Rental charge for this item: [% RENTALCHARGE | $Price %]</li>
135 [% IF ( RENEW_ISSUE ) %]
136 <li>Item <em>[% getTitleMessageIteminfo | html %]</em> ([% getBarcodeMessageIteminfo | html %]) is currently checked out to this patron. Renew?</li>
139 [% IF ( RESERVE_WAITING ) %]
140 <li>Item <em>[% getTitleMessageIteminfo | html %]</em> ([% getBarcodeMessageIteminfo | html %]) has been waiting for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | uri %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) at [% Branches.GetName( resbranchcode ) | html %] since [% reswaitingdate | $KohaDates %]</li>
143 [% IF ( TRANSFERRED ) %]
144 <li>Item <em>[% getTitleMessageIteminfo | html %]</em> ([% getBarcodeMessageIteminfo | html %]) is on hold for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | uri %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) and being transferred to [% Branches.GetName( resbranchcode ) | html %]</li>
147 [% IF ( PROCESSING ) %]
148 <li>Item <em>[% getTitleMessageIteminfo | html %]</em> ([% getBarcodeMessageIteminfo | html %]) is being processed for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | uri %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) at [% Branches.GetName( resbranchcode ) | html %]</li>
151 [% IF ( RESERVED ) %]
152 <li>Item <em>[% getTitleMessageIteminfo | html %]</em> ([% getBarcodeMessageIteminfo | html %]) has been on hold for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | uri %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) at [% Branches.GetName( resbranchcode ) | html %] since [% resreservedate | $KohaDates %]</li>
155 [% IF ( ISSUED_TO_ANOTHER ) %]
156 <li>Item <em>[% getTitleMessageIteminfo | html %]</em> ([% getBarcodeMessageIteminfo | html %]) is checked out to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% issued_borrowernumber | uri %]">[% issued_firstname | html %] [% issued_surname | html %]</a> ([% issued_cardnumber | html %]).
157 [% IF CAN_user_circulate_force_checkout %]
158 Check in and check out?
163 [% IF TOO_MANY and TOO_MANY == 'TOO_MANY_CHECKOUTS' %]
164 <li>Too many checked out. [% current_loan_count | html %] checked out, only [% max_loans_allowed | html %] are allowed.</li>
167 [% IF TOO_MANY and TOO_MANY == 'TOO_MANY_ONSITE_CHECKOUTS' %]
168 <li>Too many on-site checked out. [% current_loan_count | html %] on-site checked out, only [% max_loans_allowed | html %] are allowed.</li>
171 [% IF ( BORRNOTSAMEBRANCH ) %]
172 <li>This patron is from a different library ([% Branches.GetName( BORRNOTSAMEBRANCH ) | html %])</li>
175 [% IF ( PATRON_CANT ) %]
176 <li>This patron can't check out this item per library circulation policy.</li>
179 [% IF ( TOO_MANY and TOO_MANY == 'NO_RULE_DEFINED' ) %]
180 <li>No circulation rule is defined for this patron and itemtype combination.</li>
183 [% IF ( NOT_FOR_LOAN_FORCING ) %]
185 [% IF ( itemtype_notforloan ) %]
186 Item type is normally not for loan.
187 [% ELSIF ( item_notforloan ) %]
188 [% item_notforloan_lib = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) %]
189 Item is normally not for loan[% IF (item_notforloan_lib) %] ([% item_notforloan_lib | html %])[% END %].
191 [% IF CAN_user_circulate_force_checkout %]
197 [% IF ( USERBLOCKEDOVERDUE ) %]
198 <li>Patron has [% USERBLOCKEDOVERDUE %] overdue item(s).
199 [% IF CAN_user_circulate_force_checkout %]
205 [% IF ( ITEM_LOST ) %]
206 <li>This item has been lost with a status of "[% ITEM_LOST | html %]".
207 [% IF CAN_user_circulate_force_checkout %]
214 <li>High demand item. Loan period shortened to [% HIGHHOLDS.duration | html %] days (due [% HIGHHOLDS.returndate | $KohaDates %]). Check out anyway?</li>
218 <li>Patron has previously checked out this title: <strong>[% biblio.title | html %] [% IF biblio.author %] by [% biblio.author | html %][% END %]</strong>. Check out anyway?</li>
221 [% IF BIBLIO_ALREADY_ISSUED %]
223 Patron has already checked out another item from this record.
224 [% IF CAN_user_circulate_force_checkout %]
230 [% IF ADDITIONAL_MATERIALS %]
232 Please confirm that the accompanying materials are present: [% ADDITIONAL_MATERIALS | html %]
237 [% IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
238 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" autocomplete="off">
239 <input type="hidden" name="restoreduedatespec" />
241 [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
244 <p class="circ-override-high-holds">
245 <input type="checkbox" name="override_high_holds_tmp" id="override_high_holds_tmp" value="1" />
246 <label for="override_high_holds_tmp">Don't decrease loan length based on holds</label>
250 [% IF ( RESERVED ) %]
252 <input type="checkbox" id="cancelreserve" name="cancelreserve" value="cancel" />
253 <label for="cancelreserve">Cancel hold</label>
257 [% IF ( RESERVE_WAITING ) %]
259 <label for="cancelreserve">Cancel hold</label>
260 <input type="radio" value="cancel" name="cancelreserve" id="cancelreserve" /><br />
261 <label for="revertreserve">Revert waiting status</label>
262 <input type="radio" value="revert" name="cancelreserve" id="revertreserve" checked="checked"/>
266 [% IF ( TRANSFERRED ) %]
268 <label for="cancelreserve">Cancel hold</label>
269 <input type="radio" value="cancel" name="cancelreserve" id="cancelreserve" /><br />
270 <label for="revertreserve">Revert hold transfer status</label>
271 <input type="radio" value="revert" name="cancelreserve" id="revertreserve" checked="checked"/>
275 [% IF ( PROCESSING ) %]
277 <label for="cancelreserve">Cancel hold</label>
278 <input type="radio" value="cancel" name="cancelreserve" id="cancelreserve" /><br />
279 <label for="revertreserve">Revert In Processing status</label>
280 <input type="radio" value="revert" name="cancelreserve" id="revertreserve" checked="checked"/>
284 <input type="hidden" name="barcode" value="[% barcode | html %]" />
285 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
286 <input type="hidden" name="issueconfirmed" value="1" />
287 <input type="hidden" name="override_high_holds" value="[% override_high_holds | html %]"/>
289 [% IF ( DEBT ) %]<input type="hidden" name="debt_confirmed" value="1" />[% END %]
291 [% IF ( INVALID_DATE ) %]
293 <input type="text" size="20" id="duedatespec" name="duedatespec" value="[% duedatespec | $KohaDates with_hours => 1 %]" />
294 <label for="duedatespec">Due date</label>
297 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
300 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
301 <input type="hidden" name="branch" value="[% branch | html %]" />
303 [% IF ( RENEW_ISSUE ) %]
304 <button type="submit" class="approve" accesskey="y"><i class="fa fa-check"></i> Yes, renew (Y)</button>
306 <button type="submit" class="approve" accesskey="y"><i class="fa fa-check"></i> Yes, check out (Y)</button>
309 <input type="hidden" name="onsite_checkout" value="[% onsite_checkout | html %]" />
310 <input type="hidden" name="auto_renew" value="[% auto_renew | html %]" />
312 [% END # /IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
314 [% IF ( RESERVED or RESERVE_WAITING or TRANSFERRED or PROCESSING ) %]
315 <form method="get" action="/cgi-bin/koha/circ/circulation.pl">
316 <input type="hidden" name="restoreduedatespec" />
317 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
318 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
319 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
320 <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?reserve_id=[% reserve_id | uri %]');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
324 <form method="get" action="/cgi-bin/koha/circ/circulation.pl">
325 [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
326 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
327 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
328 <input type="hidden" name="restoreduedatespec" />
329 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
330 [% IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
331 [% IF ( RENEW_ISSUE ) %]
332 <button type="submit" class="deny" accesskey="n"><i class="fa fa-times"></i> No, don't renew (N)</button>
334 <button type="submit" class="deny" accesskey="n"><i class="fa fa-times"></i> No, don't check out (N)</button>
337 <button type="submit" class="deny"><i class="fa fa-times"></i> Continue</button>
341 [% IF ( RESERVED || ISSUED_TO_ANOTHER ) && (CAN_user_reserveforothers_place_holds ) %]
342 [% UNLESS noissues %]
343 <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>
346 </div> <!-- /#circ_needsconfirmation -->
347 [% END # /NEEDSCONFIRMATION %]
349 [% IF ( IMPOSSIBLE ) %]
350 <div id="circ_impossible" class="dialog alert audio-alert-warning focus" tabindex="-1">
351 [% IF ( UNKNOWN_BARCODE ) %]
352 <h3>Barcode not found</h3>
355 <!-- RESULT OF ISSUING REQUEST -->
357 [% IF ( DEBT_GUARANTORS ) %]
358 <li>The patron's guarantors and their other guarantees collectively have a debt of [% DEBT_GUARANTORS | $Price %].</li>
362 <li>Local use recorded</li>
365 [% IF ( INVALID_DATE ) %]
366 <li>The due date "[% INVALID_DATE | html %]" is invalid</li>
369 [% IF ( UNKNOWN_BARCODE ) %]
370 <li>The barcode was not found: <span class="ex">[% barcode | html %]</span>
372 [% IF ( FALLBACK ) %]
374 <button type="button" class="approve" data-toggle="modal" data-target="#itemSearchFallback"><i class="fa fa-search"></i> Show matching titles</button>
376 <div>No items were found by searching.</div>
380 [% IF ( fast_cataloging ) %]
381 [% IF ( CAN_user_editcatalogue_fast_cataloging ) %]
382 <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>
389 [% IF ( NOT_FOR_LOAN ) %]
391 [% IF ( itemtype_notforloan ) %]
392 Item type not for loan.
393 [% ELSIF ( item_notforloan ) %]
394 [% item_notforloan_lib = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) %]
395 Item not for loan[% IF (item_notforloan_lib) %] ([% item_notforloan_lib | html %])[% END %].
400 [% IF ( WTHDRAWN ) %]
402 <span>Item has been withdrawn</span>
403 [% item_withdrawn_lib = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => item.withdrawn ) %]
404 [% IF (item_withdrawn_lib) %]<span class="co-withdrawn">([% item_withdrawn_lib | html %])</span>[% END %]
408 [% IF ( RESTRICTED ) %]
409 <li>Item is restricted</li>
413 <li>Patron's address is in doubt</li>
416 [% IF ( CARD_LOST ) %]
417 <li>Patron's card is lost</li>
420 [% IF ( DEBARRED ) %]
421 <li>Patron is restricted</li>
424 [% IF ( NO_MORE_RENEWALS ) %]
425 <li>No more renewals possible</li>
428 [% IF NO_RENEWAL_FOR_ONSITE_CHECKOUTS %]
429 <li>This item can not be renewed, it's an on-site checkout</li>
432 [%IF ( AGE_RESTRICTION ) %]
433 <li>Age restriction [% AGE_RESTRICTION | html %].</li>
437 <li>Patron's card is expired</li>
440 [% IF ( TOO_MANY ) %]
441 <li>Too many checked out. [% current_loan_count | html %] checked out, only [% max_loans_allowed | html %] are allowed.</li>
444 [% IF ( ITEMNOTSAMEBRANCH ) %]
445 <li>This item belongs to [% Branches.GetName( itemhomebranch ) | html %] and cannot be checked out from this location.</li>
448 [% IF RETURN_IMPOSSIBLE %]
449 <li>This item must be returned to [% Branches.GetName( branch_to_return ) | html %].</li>
452 [% IF ( USERBLOCKEDWITHENDDATE ) %]
453 <li>Patron has a restriction until [% USERBLOCKEDWITHENDDATE | $KohaDates %].</li>
456 [% IF ( USERBLOCKEDNOENDDATE ) %]
457 <li>Patron has an indefinite restriction.</li>
460 [% IF ( USERBLOCKEDOVERDUE ) %]
461 <li>Checkouts are BLOCKED because patron has overdue items.</li>
465 [% IF (forceallow) %]
466 <li>Restriction overridden temporarily.</li>
469 </div> <!-- /#circ_impossible -->
471 [% IF ( FALLBACK ) %]
474 <div class="modal" id="itemSearchFallback" tabindex="-1" role="dialog" aria-labelledby="itemSearchFallbackLabel">
475 <div class="modal-dialog modal-wide" role="document">
476 <div class="modal-content">
477 <div class="modal-header">
478 <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
479 <h3 id="itemSearchFallbackLabel"><h3>Barcode not found. The following items were found by searching:</h3>
481 <div class="modal-body">
482 <table class="table_borrowers">
489 <th>Inventory number</th>
490 <th>Serial enumeration</th>
492 [% IF ( item_level_itypes ) %]<th>Item type</th>[% END %]
497 [% FOREACH item IN options %]
500 <a target="_blank" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber | html %]">[% item.biblio.title | html %] <i class="fa fa-window-restore"></i></a>
503 [% item.barcode | html %]
505 <td>[% item.itemcallnumber | html %]</th>
506 <td>[% item.copynumber | html %]</th>
507 <td>[% item.stocknumber| html %]</th>
508 <td>[% item.enumchron| html %]</th>
510 [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => item.ccode ) | html %]
512 [% IF ( item_level_itypes ) %]
514 [% ItemTypes.GetDescription( item.itype ) | html %]
518 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" autocomplete="off">
519 [% IF (forceallow) %]
520 <input type="hidden" name="forceallow" value="1">
522 <input type="hidden" name="restoreduedatespec" />
523 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
524 <input type="hidden" name="duedatespec" value="[% duedatespec | html %]" />
525 <input type="hidden" name="stickyduedate" value="[% stickyduedate | html %]" />
526 <input type="hidden" name="branch" value="[% branch | html %]" />
527 <input type="hidden" name="barcode" value="[% item.barcode | html %]" />
528 <input type="hidden" name="onsite_checkout" value="[% onsite_checkout | html %]" />
529 <input type="hidden" name="auto_renew" value="[% auto_renew | html %]" />
530 <button class="btn btn-default btn-xs" type="submit" name="x"><i class="fa fa-check"></i> Check out</button>
537 </div> <!-- /.modal-body -->
538 <div class="modal-footer">
539 <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
541 </div> <!-- /.modal-content -->
542 </div> <!-- /.modal-dialog.modal-wide -->
543 </div> <!-- /#itemSearchFallback -->
544 [% END # /IF options %]
545 [% END # /IF FALLBACK %]
547 [% ELSE # IF IMPOSSIBLE %]
548 [% IF (forceallow) %]
549 <div id="overridden_debarment" class="dialog alert">Restriction overridden temporarily</div>
551 [% END # /IF IMPOSSIBLE %]
553 <span class="audio-alert-success"></span>
556 <p>Item checked out</p>
560 [% INCLUDE 'patron-toolbar.inc' %]
561 <h4>No patron matched <span class="ex">[% message | html %]</span></h4>
564 [% IF ( borrowers ) %]
566 [% INCLUDE 'patron-toolbar.inc' %]
567 <fieldset id="circ_circulation_selectborrower">
568 <legend>Patron selection</legend>
569 [% INCLUDE 'circ-patron-search-results.inc' destination = "circ" %]
574 <!-- BARCODE ENTRY -->
578 [% IF patron.privacy == 2 AND NOT Koha.Preference('AnonymousPatron') %]
579 <div class="dialog alert">
580 <strong>Error:</strong> This patron has requested their circulation history be anonymized on check-in, but the AnonymousPatron system preference is empty or incorrect.
585 [% IF ( !noissues ) || ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') )%]
586 <div class="col-sm-6">
587 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" id="mainform" name="mainform" autocomplete="off">
588 <input type="hidden" name="restoreduedatespec" />
590 <fieldset id="circ_circulation_issue" class="lastchecked">
592 <fieldset id="circ_circulation_issue">
595 [% IF ( DisplayClearScreenButton ) %]
596 <span id="clearscreen"><a href="/cgi-bin/koha/circ/circulation.pl" title="Clear screen">x</a></span>
597 <span id="printclearscreen"><a href="#" title="Print slip and clear screen"><i class="fa fa-print"></i></a></span>
600 [% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
602 <label class="circ_barcode" for="barcode">Checking out to [% INCLUDE 'patron-title.inc' %]</label>
604 [% IF Koha.Preference('itemBarcodeFallbackSearch') %]
605 <div class="hint">Enter item barcode or keyword:</div>
607 <div class="hint">Enter item barcode:</div>
610 [% IF NEEDSCONFIRMATION %]
611 <input type="text" name="barcode" id="barcode" class="barcode focus" size="14" disabled="disabled" />
613 <input type="text" name="barcode" id="barcode" class="barcode focus" size="14" />
616 <button type="submit" class="btn btn-default">Check out</button>
618 <div id="show-circ-settings">
619 <a href="#"><i class="fa fa-caret-right circ-settings-icon"></i> Checkout settings</a>
622 <div class="circ-settings">
624 [% UNLESS ( noissues && Koha.Preference('OnSiteCheckoutsForce') ) %]
625 [% IF ( SpecifyDueDate ) %]
626 <div id="specify-due-date" class="circ-setting">
627 <div class="hint">Specify due date [% INCLUDE 'date-format.inc' %]: </div>
628 [% IF ( duedatespec ) %]
629 <input type="text" size="20" id="duedatespec" name="duedatespec" value="[% duedatespec | $KohaDates with_hours => 1 %]" />
631 <input type="text" size="20" id="duedatespec" name="duedatespec" value="" />
633 <label for="stickyduedate"> Remember for session:</label>
634 [% IF ( stickyduedate ) %]
635 <input type="checkbox" id="stickyduedate" onclick="this.form.barcode.focus();" name="stickyduedate" checked="checked" />
637 <input type="checkbox" id="stickyduedate" onclick="this.form.barcode.focus();" name="stickyduedate" />
639 <button class="btn btn-default btn-xs 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>
644 [% UNLESS ( noissues ) %]
645 <div id="set-automatic-renewal" class="circ-setting">
646 [% IF NEEDSCONFIRMATION %]
648 [% IF patron.autorenew_checkouts %]
649 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled"
650 title="Patron has opted out of auto-renewal"/>
652 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" checked="checked" />
655 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" />
658 [% IF ( auto_renew && patron.autorenew_checkouts ) %]
659 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" checked="checked" />
660 [% ELSIF patron.autorenew_checkouts %]
661 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" />
663 <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled"
664 title="Patron has opted out of auto-renewal"/>
668 <label for="auto_renew">Automatic renewal</label>
670 [% IF Koha.Preference('decreaseLoanHighHolds') %]
671 <div id="set_high_holds_overrride" class="circ-setting">
672 [% IF NEEDSCONFIRMATION %]
673 [% IF override_high_holds %]
674 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" disabled="disabled" checked="checked"/>
676 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" disabled="disabled"/>
679 [% IF override_high_holds %]
680 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" class="circ_setting" checked="checked" />
682 <input type="checkbox" name="override_high_holds" id="override_high_holds" value="1" class="circ_setting" />
685 <label for="override_high_holds">Don't decrease checkout length based on holds</label>
690 [% IF Koha.Preference('OnSiteCheckouts') %]
691 <div id="onsite_checkout-select" class="circ-setting">
693 <div class="onsite-checkout-only">
694 <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>
695 <input type="text" name="duedatespec" id="duedatespec" />
696 <input type="hidden" name="onsite_checkout" checked="checked" value="1" />
699 [% IF Koha.Preference('OnSiteCheckoutAutoCheck') && onsite_checkout == "on" %]
700 <input type="checkbox" id="onsite_checkout" name="onsite_checkout" class="circ_setting" checked="checked" /> <label for="onsite_checkout">On-site checkout</label>
702 <input type="checkbox" id="onsite_checkout" name="onsite_checkout" class="circ_setting" /> <label for="onsite_checkout">On-site checkout</label>
708 </div> <!-- /.circ-settings -->
710 <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% patron.borrowernumber | html %]" />
711 <input type="hidden" name="branch" value="[% branch | html %]" />
712 <input type="hidden" name="debt_confirmed" value="[% debt_confirmed | html %]" />
714 <input type="hidden" name="charges" value="yes" />
716 </fieldset> <!-- /#circ_circulation_issue -->
719 <div class="lastchecked">
720 <p><strong>Checked out: </strong>[% issue.item.biblio.title | html %] ([% issue.item.barcode | html %]). Due on [% issue.date_due | $KohaDates as_due_date => 1 %]</p>
723 </form> <!-- /#mainform -->
724 </div> <!-- /.col-sm-6 -->
726 [% END #/IF !noissues %]
728 [% IF ( noissues ) %]
729 [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %]
730 <div class="col-sm-6">
735 <div class="col-sm-6">
738 [% IF ( noissues ) %]
739 [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %]
740 <div id="circmessages" class="circmessage attention">
742 <h4>Checking out to [% INCLUDE 'patron-title.inc' %]</h4>
743 <div id="circmessages" class="circmessage warning">
747 [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %]
748 <span class="circ-hlt">Only on-site checkouts are allowed</span>
752 <div id="circmessages" class="circmessage attention">
755 [% INCLUDE 'patron_messages.inc' %]
757 </div> <!-- /#circmessages -->
758 </div> <!-- /div or div.col-sm-6 -->
759 </div> <!-- /.row -->
761 <div id="patronlists" class="toptabs">
764 [% IF ( issuecount ) %]
765 <a href="#checkouts">[% issuecount | html %] Checkout(s)</a>
767 <a href="#checkouts">0 Checkouts</a>
771 [% IF relatives_issues_count %]
772 <li><a id="relatives-issues-tab" href="#relatives-issues">[% relatives_issues_count | html %] Relatives' checkouts</a></li>
776 [% IF ( holds_count ) %]
777 <a href="#reserves" id="holds-tab">[% holds_count | html %] Hold(s)</a>
779 <a href="#reserves" id="holds-tab">0 Holds</a>
783 [% IF Koha.Preference('ArticleRequests') %]
785 <a href="#article-requests" id="article-requests-tab"> [% patron.article_requests_current.count | html %] Article requests</a>
789 [% IF Koha.Preference('ClaimReturnedLostValue') %]
791 [% IF ( patron.return_claims.count ) %]
792 <a href="#return-claims" id="return-claims-tab">
794 [% IF patron.return_claims.resolved.count == 0 %]
795 <span title="Resolved claims" class="label label-default" id="return-claims-count-resolved">[% patron.return_claims.resolved.count | html %]</span>
797 <span title="Resolved claims" class="label label-success" id="return-claims-count-resolved">[% patron.return_claims.resolved.count | html %]</span>
799 [% IF patron.return_claims.unresolved.count == 0 %]
800 <span title="Unresolved claims" class="label label-default" id="return-claims-count-unresolved">[% patron.return_claims.unresolved.count | html %]</span>
802 <span title="Unresolved claims" class="label label-warning" id="return-claims-count-unresolved">[% patron.return_claims.unresolved.count | html %]</span>
806 <a href="#return-claims" id="return-claims-tab">
808 <span title="Resolved claims" class="label label-default" id="return-claims-count-resolved">0</span>
809 <span title="Unresolved claims" class="label label-default" id="return-claims-count-unresolved">0</span>
815 <li><a id="debarments-tab-link" href="#reldebarments">[% debarments.count | html %] Restrictions</a></li>
817 [% SET enrollments = patron.get_club_enrollments(1) %]
818 [% SET enrollable = patron.get_enrollable_clubs(0,1) %]
819 [% IF CAN_user_clubs && ( enrollable.count || enrollments.count ) %]
821 <a id="clubs-tab-link" href="#clubs-tab">
822 Clubs ([% enrollments.count | html %]/[% enrollable.count | html %])
828 <!-- SUMMARY : TODAY & PREVIOUS ISSUES -->
830 [% INCLUDE "checkouts-table.inc" %]
832 [% INCLUDE "relatives-issues-table.inc" %]
834 [% IF CAN_user_clubs && ( enrollable.count || enrollments.count ) %]
837 </div> <!-- /#clubs-tab -->
840 [% INCLUDE borrower_debarments.inc %]
843 [% IF ( holds_count ) %]
844 <form action="/cgi-bin/koha/reserve/modrequest.pl" method="post">
845 <input type="hidden" name="from" value="circ" />
846 <table id="holds-table" style="width: 100% !Important;">
863 <fieldset class="action">
864 <input type="submit" class="cancel" name="submit" value="Cancel marked holds" />
866 [% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %]
867 [% IF hold_cancellation %]
868 <select name="cancellation-reason">
869 <option value="">No reason given</option>
870 [% FOREACH reason IN hold_cancellation %]
871 <option value="[% reason.authorised_value | html %]">[% reason.lib | html %]</option>
878 [% IF Koha.Preference('SuspendHoldsIntranet') %]
879 <fieldset class="action">
880 <form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
881 <input type="hidden" name="from" value="circ" />
882 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
883 <input type="submit" value="Suspend all holds" />
885 [% IF Koha.Preference('AutoResumeSuspendedHolds') %]
886 <label for="suspend_until">until</label>
887 <input type="text" size="10" id="suspend_until" name="suspend_until" class="datepicker futuredate"/>
888 <span class="hint">Specify date on which to resume [% INCLUDE 'date-format.inc' %]: </span>
893 <fieldset class="action">
894 <form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
895 <input type="hidden" name="from" value="circ" />
896 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
897 <input type="hidden" name="suspend" value="0" />
898 <input type="submit" value="Resume all suspended holds" />
901 [% END # /IF SuspendHoldsIntranet %]
903 [% ELSE # IF holds_count %]
904 <p>Patron has nothing on hold.</p>
905 [% END # /IF holds_count %]
906 </div> <!-- /#reserves -->
908 [% IF Koha.Preference('ClaimReturnedLostValue') %]
909 [% INCLUDE 'patron-return-claims.inc' %]
912 [% IF Koha.Preference('ArticleRequests') %]
913 [% INCLUDE 'patron-article-requests.inc' %]
916 </div> <!-- /#patronlists -->
917 [% ELSIF borrowernumber # IF patron %]
918 <div class="dialog message">Patron not found. <a href="/cgi-bin/koha/members/members-home.pl">Return to search</a></div>
919 [% END # /IF patron %]
921 [% END #/IF borrowers %]
923 </div> <!-- /.col-sm-10.col-sm-push-2 -->
925 [% IF Koha.Preference('CircSidebar') %]
926 [% UNLESS ( borrowers ) %]
927 [% IF not( borrowernumber and patron ) %]
928 <div class="col-sm-2 col-sm-pull-10">
930 [% INCLUDE 'circ-nav.inc' %]
932 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
937 [% UNLESS ( borrowers ) %]
938 [% IF borrowernumber and patron %]
939 <div class="col-sm-2 col-sm-pull-10">
941 [% INCLUDE 'circ-menu.inc' %]
943 </div> <!-- /.col-sm-2 col-sm-pull-10 -->
947 </div> <!-- /.row -->
951 <div id="barcodeSubmittedModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="barcodeSubmittedModalLabel" aria-hidden="true">
952 <div class="modal-dialog">
953 <div class="modal-content">
954 <div class="modal-header">
955 <h3 id="barcodeSubmittedModalLabel">Barcode submitted</h3>
957 <div class="modal-body">
958 <p>You have already submitted a barcode, please wait for the checkout to process...</p>
960 </div> <!-- /.modal-content -->
961 </div> <!-- /.modal-dialog -->
962 </div> <!-- /#barcodeSubmittedModal -->
964 [% MACRO jsinclude BLOCK %]
965 [% INCLUDE 'calendar.inc' %]
966 [% INCLUDE 'datatables.inc' %]
967 [% INCLUDE 'columns_settings.inc' %]
968 [% Asset.js("lib/jquery/plugins/jquery-ui-timepicker-addon.min.js") | $raw %]
969 [% INCLUDE 'timepicker.inc' %]
970 [% INCLUDE 'select2.inc' %]
971 [% Asset.js("lib/jquery/plugins/rowGroup/dataTables.rowGroup.min.js") | $raw %]
973 /* Set some variable needed in circulation.js */
974 var logged_in_user_borrowernumber = "[% logged_in_user.borrowernumber | html %]";
975 var ClaimReturnedLostValue = "[% Koha.Preference('ClaimReturnedLostValue') | html %]";
976 var ClaimReturnedChargeFee = "[% Koha.Preference('ClaimReturnedChargeFee') | html %]";
977 var UnseenRenewals = "[% Koha.Preference('UnseenRenewals') | html %]";
978 var ClaimReturnedWarningThreshold = "[% Koha.Preference('ClaimReturnedWarningThreshold') | html %]";
979 var interface = "[% interface | html %]";
980 var theme = "[% theme | html %]";
981 var borrowernumber = "[% patron.borrowernumber | html %]";
982 var branchcode = "[% branch | html %]";
983 var exports_enabled = "[% Koha.Preference('ExportCircHistory') | html %]";
984 var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalLimitOverride') )? 1: 0 | html %];
985 var AllowRenewalOnHoldOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalOnHoldOverride') )? 1: 0 | html %];
986 var AllowCirculate = [% (CAN_user_circulate_circulate_remaining_permissions)? 1 : 0 | html %];
987 var script = "circulation";
988 var relatives_borrowernumbers = new Array();
989 [% FOREACH b IN relatives_borrowernumbers %]
990 relatives_borrowernumbers.push("[% b | html %]");
992 var SuspendHoldsIntranet = [% ( Koha.Preference('SuspendHoldsIntranet') ) ? 1 : 0 | html %];
994 [% Asset.js("js/pages/circulation.js") | $raw %]
995 [% Asset.js("js/checkouts.js") | $raw %]
996 [% Asset.js("js/holds.js") | $raw %]
997 [% Asset.js("js/circ-patron-search-results.js") | $raw %]
999 columns_settings_issues_table = [% TablesSettings.GetColumns( 'circ', 'circulation', 'issues-table', 'json' ) | $raw %]
1000 columns_settings_borrowers_table = [% TablesSettings.GetColumns( 'circ', 'circulation', 'table_borrowers', 'json' ) | $raw %]
1002 [% IF borrowernumber and patron %]
1003 if( Cookies.get("holdfor") != [% patron.borrowernumber | html %]){
1004 Cookies.remove("holdfor", { path: '/' });
1007 Cookies.remove("holdfor", { path: '/' });
1010 [% UNLESS ( patron.borrowernumber ) %][% UNLESS ( borrowers ) %]window.onload=function(){ $('#findborrower').focus(); };[% END %][% END %]
1013 function toggle_onsite_checkout(){
1014 if ( $("#onsite_checkout").prop('checked') ) {
1015 $("#duedatespec").val("[% todaysdate | $KohaDates with_hours => 1 %]")
1016 [% IF !Koha.Preference('SpecifyDueDate') %]
1017 $("#duedatespec").datetimepicker('destroy');
1020 $("#duedatespec").datetimepicker({
1021 onClose: function(dateText, inst) {
1022 if (validate_date(dateText, inst) ) {
1023 $("#barcode").focus();
1028 }).on("change", function(e, value) {
1029 if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
1034 function Dopop(link) {
1035 var newin = window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top');
1037 $(document).ready(function() {
1038 $('#mainform').on('submit',function() {
1039 if ($("#barcode") && $("#barcode").val()) {
1040 $('#barcode').on('keypress',function(event) {
1041 $('#barcodeSubmittedModal').modal();
1042 event.preventDefault(); }
1047 if ( $('#clubs-tab').length ) {
1048 $('#clubs-tab-link').on('click', function() {
1049 $('#clubs-tab').text(_("Loading..."));
1050 $('#clubs-tab').load('/cgi-bin/koha/clubs/patron-clubs-tab.pl?borrowernumber=[% patron.borrowernumber | html %]');
1054 [% IF !( CircAutoPrintQuickSlip == 'clear' ) %]
1055 // listen submit to trigger qslip on empty checkout
1056 $('#mainform').bind('submit',function() {
1057 if ($('#barcode').val() == '') {
1058 return printx_window( '[% CircAutoPrintQuickSlip | html %]' );
1062 toggle_onsite_checkout();
1063 $("#onsite_checkout").click(function(){
1064 toggle_onsite_checkout();
1068 [% IF !override_high_holds %]
1069 $("input[name=duedatespec]:hidden").val('[% HIGHHOLDS.returndate | html %]');
1070 if ('[% duedatespec | html %]' === '') {
1071 $("input[name=restoreduedatespec]:hidden").val('highholds_empty');
1073 $("input[name=restoreduedatespec]:hidden").val('[% duedatespec | html %]');
1077 $("#override_high_holds_tmp").on( 'change', function() {
1078 if ( this.checked ) {
1079 $("input[name=duedatespec]:hidden").val('');
1085 [% INCLUDE 'str/members-menu.inc' %]
1086 [% Asset.js("js/members-menu.js") | $raw %]
1089 [% INCLUDE 'intranet-bottom.inc' %]