8 [% USE AuthorisedValues %]
9 [% USE ColumnsSettings %]
10 [% SET footerjs = 1 %]
11 [% BLOCK display_bormessagepref %]
12 [% IF ( bormessagepref ) %]
13 <li class="notification_method">Patron notification:
14 [% FOREACH mtt IN bormessagepref.keys %]
15 [%~ IF ( mtt == 'email' ) %] Email[% END ~%]
16 [%~ IF ( mtt == 'phone' ) %] Phone[% END ~%]
17 [%~ IF ( mtt == 'sms' ) %] SMS[% END ~%]
18 [%~ UNLESS loop.last %], [% ELSE %].[% END ~%]
22 <li class="notification_method none">Patron is not notified.</li>
26 [% BLOCK display_holdpatron_address %]
27 [% IF Koha.Preference( 'AddressFormat' ) %]
28 [% INCLUDE "member-display-address-style-${ Koha.Preference( 'AddressFormat' ) }.inc" %]
30 [% INCLUDE 'member-display-address-style-us.inc' %]
34 [% INCLUDE 'doc-head-open.inc' %]
35 <title>Koha › Circulation › Check in [% title | html %]</title>
36 [% INCLUDE 'doc-head-close.inc' %]
39 <body id="circ_returns" class="circ">
40 <span class="audio-alert-success"></span>
42 [% INCLUDE 'header.inc' %]
43 [% INCLUDE 'checkin-search.inc' %]
45 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> › Check in</div>
47 <div class="main container-fluid">
49 <div class="col-sm-12">
53 [% IF Koha.Preference('CircSidebar') %]
54 <div class="col-sm-10 col-sm-push-2">
56 <div class="col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
59 [% BLOCK all_checkin_messages %]
60 [% IF hold_auto_filled %]
61 <div class="dialog alert hold-auto-filled">
62 [% IF ( reservenotes ) %]
63 <h4>Notes: [% reservenotes | html %]</h4>
65 <h3>Hold filled for:</h3>
68 [% INCLUDE 'patron-title.inc' patron=patron %]
69 <span class="patron-category"> - [% patron.category.description | html %]</span>
72 [% INCLUDE display_holdpatron_address %]
74 [% IF ( patron.phone ) %]
75 <li>[% patron.phone | html %]</li>
78 [% IF ( patron.email ) %]
80 [% IF ( transfertodo ) %]
81 [% patron.email | html %]
83 <a id="boremail" href="mailto:[% patron.email | html %]">[% patron.email | html %]</a>
88 [% UNLESS ( transfertodo) %]
89 [% INCLUDE display_bormessagepref %]
92 [% IF ( patron.debarred ) %]
93 <li class="error">Patron is RESTRICTED</li>
96 [% IF ( patron.gonenoaddress ) %]
97 <li class="error">Patron's address is in doubt</li>
101 [% IF ( transfertodo ) %]
102 <h4><strong>Transfer to:</strong> [% Branches.GetName( destbranch ) | html %]</h4>
104 <h4><strong>Hold at</strong> [% Branches.GetName( destbranch ) | html %]</h4>
107 <a href="#" class="btn btn-default print print-slip">
108 <i class="fa fa-print"></i> Print
110 </div> <!-- /.hold-auto-filled -->
111 [% END # /IF hold_auto_filled %]
113 [% IF privacy == 2 AND NOT Koha.Preference('AnonymousPatron') %]
114 <div class="dialog alert">
115 <strong>Error:</strong>
116 This patron has requested their circulation history be anonymized on check-in, but the AnonymousPatron system preference is empty or incorrect.
118 [% ELSIF NOT Koha.Preference('AnonymousPatron') AND Koha.Preference('OPACPrivacy') %]
119 <div class="dialog alert">
120 <strong>Error:</strong>
121 The system preference OPACPrivacy is set but AnonymousPatron is not! Please correct this before continuing circulation.
125 [% IF additional_materials %]
126 <div class="dialog message" id="materials">
127 Note about the accompanying materials: <br />
128 [% additional_materials | html %]
132 [% IF ( collectionItemNeedsTransferred ) %]
133 <div id="rotating-collection" class="dialog message">
134 <h3>Please transfer item to: [% Branches.GetName( collectionBranch ) | html %]</h3>
135 <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&biblionumber=[% itembiblionumber | uri %]">[% itembarcode | html %]: [% title | html %]</a></p>
136 <p>This item is part of a rotating collection.</p>
137 <p><button type="button" class="openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber | html %]&branchcode=[% collectionBranch | html %]&op=slip"><i class="fa fa-print"></i> Print slip</button></p>
141 <!-- Patron has added an issue note -->
142 [% IF ( issue.note) %]
143 <div class="dialog message">
145 <p>[% issue.notedate | $KohaDates %]</p>
146 <p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% itembiblionumber | uri %]"> [% title | html %]</a> [% author | html %]</p>
147 <p>[% issue.note | html %]</p>
151 <!-- Patron has fines -->
153 <div class="dialog alert">
154 <h3>Patron has outstanding fines of [% fines | html %].</h3>
155 <p><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% fineborrowernumber | uri %]">Make payment</a>.</p>
159 <!-- Patron has waiting holds -->
160 [% IF ( waiting_holds ) %]
161 <div id="awaiting-pickup" class="dialog message">
162 <h3>[% holdsfirstname | html %] [% holdssurname | html %] has [% waiting_holds | html %] hold(s) waiting for pickup.</h3>
163 <p><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% holdsborrowernumber | uri %]">Check out to this patron</a>.</p>
167 <!-- Patron is restricted and checkin was backdated -->
168 [% IF return_date_was_overriden && Borrowers.IsDebarred( borrower ) %]
169 <div id="restricted_backdated" class="dialog message">
171 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">
172 [% patron.firstname | html %] [% patron.surname | html %]
174 is restricted. Please verify this patron should still be restricted.
180 [% IF ( errmsgloop ) %]
181 <div class="dialog alert audio-alert-warning">
182 <h3>Check in message</h3>
183 [% IF itembiblionumber %]
184 <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&biblionumber=[% itembiblionumber | uri %]">[% itembarcode | html %]: [% title | html %]</a></p>
186 [% FOREACH errmsgloo IN errmsgloop %]
187 [% IF ( errmsgloo.NotForLoanStatusUpdated ) %]
189 Not for loan status updated.
191 [% IF errmsgloo.NotForLoanStatusUpdated.from %]
192 [% AuthorisedValues.GetByCode( 'NOT_LOAN', errmsgloo.NotForLoanStatusUpdated.from ) | html %].
197 [% IF errmsgloo.NotForLoanStatusUpdated.to %]
198 [% AuthorisedValues.GetByCode( 'NOT_LOAN', errmsgloo.NotForLoanStatusUpdated.to ) | html %].
204 [% IF ( errmsgloo.ItemLocationUpdated ) %]
206 Item shelving location updated.
208 [% IF errmsgloo.ItemLocationUpdated.from %]
209 [% IF errmsgloo.ItemLocationUpdated.from == '' %]
211 [% ELSIF AuthorisedValues.GetByCode( 'LOC', errmsgloo.ItemLocationUpdated.from ) == '' %]
212 [% errmsgloo.ItemLocationUpdated.from | html %] (No description available)
214 [% AuthorisedValues.GetByCode( 'LOC', errmsgloo.ItemLocationUpdated.from ) | html %]
220 [% IF errmsgloo.ItemLocationUpdated.to %]
221 [% IF errmsgloo.ItemLocationUpdated.to == '' %]
223 [% ELSIF AuthorisedValues.GetByCode( 'LOC', errmsgloo.ItemLocationUpdated.to ) == '' %]
224 [% errmsgloo.ItemLocationUpdated.to | html %] (Not an authorized value)
226 [% AuthorisedValues.GetByCode( 'LOC', errmsgloo.ItemLocationUpdated.to ) | html %]
233 [% IF ( errmsgloo.badbarcode ) %]
234 <p class="problem">No item with barcode: [% errmsgloo.msg | html %]</p>
236 [% IF ( errmsgloo.ispermanent ) %]
237 <p class="problem">Please return item to: [% Branches.GetName( errmsgloo.msg ) | html %]</p>
239 [% IF ( errmsgloo.notissued ) %]
240 <p class="problem">Not checked out.</p>
242 [% IF ( errmsgloo.localuse) %]
243 <p class="problem">Local use recorded</p>
245 [% IF ( errmsgloo.waslost ) %]
246 [% IF Koha.Preference('BlockReturnOfLostItems') %]
247 <p class="problem">Item is lost, cannot be checked in.</p>
249 <p class="problem">Item was lost, now found.</p>
251 [% IF LostItemFeeRefunded and not Koha.Preference('BlockReturnOfLostItems') %]
252 <p class="problem">A refund has been applied to the borrowing patron's account.</p>
253 [% ELSIF Koha.Preference('BlockReturnOfLostItems') %]
254 <h5>Cannot check in</h5>
255 <p><strong>NOT CHECKED IN</strong></p>
257 <p class="problem">Any lost item fees for this item will remain on the patron's account.</p>
260 [% IF ( errmsgloo.withdrawn ) %]
261 [% IF Koha.Preference('BlockReturnOfWithdrawnItems') %]
262 <h5>Cannot check in</h5>
263 <p><strong>NOT CHECKED IN</strong></p>
265 <p class="problem">Item is withdrawn.</p>
267 [% IF ( errmsgloo.debarred ) %]
268 <p class="problem"><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% errmsgloo.debarborrowernumber | uri %]">[% errmsgloo.debarname | html %]([% errmsgloo.debarcardnumber | html %])</a> is now debarred until [% errmsgloo.debarred | $KohaDates %].</p>
270 [% IF ( errmsgloo.prevdebarred ) %]
271 <p class="problem"><b>Reminder: </b>Patron was earlier restricted until [% errmsgloo.prevdebarred | $KohaDates %].</p>
273 [% IF ( errmsgloo.foreverdebarred ) %]
274 <p class="problem"><b>Reminder: </b>Patron has an indefinite restriction.</p>
277 [% IF errmsgloo.data_corrupted %]
278 <p class="problem">The item has not been checked in due to a configuration issue in your system. You must ask an administrator to take a look at the <a href="/cgi-bin/koha/about.pl#sysinfo">about page</a> and search for the "data problems" section</p>
280 [% END # /FOREACH errmsgloo %]
281 </div> <!-- /.dialog.dialog-alert -->
282 [% END #/IF errmsgloop %]
284 [% IF ( checkinmsg ) %]
285 [% IF ( checkinmsgtype == 'alert' ) %]
286 <div class="dialog alert">
288 <div class="dialog message">
290 <p class="problem">[% checkinmsg | html_line_break %]</p>
292 [% END # /IF checkinmsg %]
293 [% END # /BLOCK all_checkin_messages %]
296 <div id="wrong-branch-modal" class="modal fade audio-alert-action block">
297 <div class="modal-dialog">
298 <div class="modal-content">
299 <form method="post" action="returns.pl" name="mainform" id="mainform">
300 <div class="modal-header">
305 <div class="modal-body">
307 <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&biblionumber=[% itembiblionumber | uri %]">
308 [% itembarcode | html %]: [% title | html %]
317 This item must be checked in at following library:
319 [% Branches.GetName( rightbranch ) | html %]
322 [% INCLUDE all_checkin_messages %]
323 </div> <!-- /.modal-body -->
324 <div class="modal-footer">
325 <button type="button" data-dismiss="modal" class="btn btn-default approve"><i class="fa fa-check"></i> OK</button>
327 </form> <!-- /#mainform -->
328 </div> <!-- /.modal-content -->
329 </div> <!-- /.modal-dialog -->
330 </div> <!-- /#wrong-branch-modal -->
331 [% END # /IF wrongbranch %]
333 <!-- case of a mistake in transfer loop -->
334 [% UNLESS ( hold_auto_filled && diffbranch ) %]
335 [% IF WrongTransfer && !transfertodo %]
336 [% IF Koha.Preference('TransfersBlockCirc') %]
337 <div id="wrong-transfer-modal" class="modal fade audio-alert-action block">
339 <div id="wrong-transfer-modal" class="modal fade audio-alert-action noblock">
341 <div class="modal-dialog">
342 <div class="modal-content">
343 <div class="modal-header">
345 Please return item to: [% Branches.GetName( TransferWaitingAt ) | html %]
348 <div class="modal-body">
350 <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&biblionumber=[% itembiblionumber | uri %]">
351 [% itembarcode | html %]: [% title | html %]
354 [% INCLUDE all_checkin_messages %]
356 <div class="modal-footer">
358 <button type="button" data-dismiss="modal" class="btn btn-default approve"><i class="fa fa-check"></i> OK</button>
360 <button type="button" data-dismiss="modal" class="btn btn-default print openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber | html %]&&branchcode=[% TransferWaitingAt | html %]&op=slip"><i class="fa fa-print"></i> Print transfer slip</button>
361 <!-- CANCEL TRANSFER -->
362 <form method="post" action="returns.pl" name="mainform">
363 <button class="btn btn-default deny" type="submit"><i class="fa fa-times"></i> Cancel transfer</button>
364 <input type="hidden" name="return_date_override" value="[% return_date_override | html %]" />
365 <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember | html %]" />
366 <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
367 <input type="hidden" name="canceltransfer" value="1" />
368 [% FOREACH inputloo IN inputloop %]
369 <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
370 <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
371 <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
373 </form> <!-- /mainform -->
374 </div> <!-- /.modal-footer -->
375 </div> <!-- /.modal-content -->
376 </div> <!-- /.modal-dialog -->
377 </div> <!-- /#wrong-transfer-modal -->
378 [% END # /IF WrongTransfer && !transfertodo %]
379 [% END # /UNLESS hold_auto_filled && diffbranch %]
383 <div id="hold-found1" class="modal fade audio-alert-action block">
384 <div class="modal-dialog">
385 <div class="modal-content">
386 <form method="post" action="returns.pl" class="confirm">
387 <div class="modal-header">
389 Hold found (item is already waiting):
391 <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&biblionumber=[% itembiblionumber | uri %]">[% title | html %]</a>
392 <div class="hold-found-barcode">
393 <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% itembiblionumber | uri %]&itemnumber=[% itemnumber | uri %]">[% itembarcode | html %]</a>
398 <div class="modal-body">
399 [% IF ( reservenotes ) %]
400 <h4>Notes: [% reservenotes | html %]</h4>
406 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% patron.surname | html %], [% patron.firstname | html %]</a> ([% patron.cardnumber | html %])
407 <span class="patron-category"> - [% patron.category.description | html %]</span>
409 [% INCLUDE display_holdpatron_address %]
410 [% IF ( patron.phone ) %]
411 <li> [% patron.phone | html %]</li>
414 [% IF ( patron.email ) %]
415 <li><a id="boremail" href="mailto:[% patron.email | html %]">[% patron.email | html %]</a></li>
418 [% IF ( patron.debarred ) %]
419 <li class="error">Patron is RESTRICTED</li>
422 [% IF ( patron.gonenoaddress ) %]
423 <li class="error">Patron's address is in doubt</li>
427 [% IF ( transfertodo ) %]
428 <h4><strong>Transfer to:</strong> [% Branches.GetName( destbranch ) | html %]</h4>
430 <h4><strong>Hold at</strong> [% Branches.GetName( destbranch ) | html %]</h4>
433 [% FOREACH inputloo IN inputloop %]
434 <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
435 <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
436 <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
439 <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
440 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
441 <input type="hidden" name="biblionumber" value="[% itembiblionumber | html %]" />
442 <input type="hidden" name="reserve_id" value="[% reserve_id | html %]" />
443 <input type="hidden" name="diffBranch" value="[% destbranch | html %]" />
444 <input type="hidden" name="exemptfine" value="[% exemptfine | html %]" />
445 <input type="hidden" name="dropboxmode" value="[% dropboxmode | html %]" />
446 <input type="hidden" name="forgivemanualholdsexpire" value="[% forgivemanualholdsexpire | html %]" />
448 <input type="hidden" name="return_date_override" value="[% return_date_override | html %]" />
449 <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember | html %]" />
450 [% INCLUDE all_checkin_messages %]
451 </div> <!-- /.modal-body -->
453 <div class="modal-footer">
454 <input type="hidden" name="cancel_reserve" value="0" />
456 <button type="submit" class="btn btn-default approve" data-dismiss="modal">
457 <i class="fa fa-check"></i> Confirm hold
460 <input type="hidden" name="print_slip" value="0" />
461 <button type="submit" class="btn btn-default print">
462 <i class="fa fa-print"></i> Print slip and confirm
465 <button type="submit" class="btn btn-default deny cancel-hold">
466 <i class="fa fa-times"></i> Cancel hold
468 </div> <!-- /.modal-footer -->
469 </form> <!-- /.confirm -->
470 </div> <!-- /.modal-content -->
471 </div> <!-- /.modal-dialog -->
472 </div> <!-- /#hold-found1 -->
473 [% END # /IF waiting %]
475 [% IF transfer || needstransfer %]
476 [% IF Koha.Preference('TransfersBlockCirc') %]
477 <div id="item-transfer-modal" class="modal fade audio-alert-action block">
479 <div id="item-transfer-modal" class="modal fade audio-alert-action noblock">
481 <div class="modal-dialog">
482 <div class="modal-content">
483 <form method="post" action="returns.pl" name="mainform" id="mainform">
484 <div class="modal-header">
486 Please return this item to [% Branches.GetName( returnbranch ) | html %]
489 <div class="modal-body">
491 <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&biblionumber=[% itembiblionumber | uri %]">
492 [% itembarcode | html %]: [% title | html %]
500 <input type="hidden" name="tobranch" value="[% returnbranch | html %]" />
501 <input type="hidden" name="transferitem" value="[% itemnumber | html %]" />
502 <input type="hidden" name="barcode" value="0" />
503 [% INCLUDE all_checkin_messages %]
505 <div class="modal-footer">
507 <button type="submit" name="dotransfer" value="Yes" class="btn btn-default approve"><i class="fa fa-check"></i> Yes</button>
508 <button type="submit" name="dotransfer" value="Yes" class="btn btn-default print openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber | html %]&&branchcode=[% returnbranch | html %]&op=slip"><i class="fa fa-print"></i> Yes, print slip</button>
509 <button type="button" data-dismiss="modal" class="btn btn-default deny" name="notransfer" value="No"><i class="fa fa-times"></i> No</button>
511 <button type="button" data-dismiss="modal" class="btn btn-default approve"><i class="fa fa-check"></i> OK</button>
512 <button type="button" data-dismiss="modal" name="dotransfer" class="btn btn-default print openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber | html %]&branchcode=[% returnbranch | html %]&op=slip"><i class="fa fa-print"></i> Print slip</button>
514 <input type="hidden" name="return_date_override" value="[% return_date_override | html %]" />
515 <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember | html %]" />
516 <input type="hidden" name="exemptfine" value="[% exemptfine | html %]" />
517 <input type="hidden" name="dropboxmode" value="[% dropboxmode | html %]" />
518 <input type="hidden" name="forgivemanualholdsexpire" value="[% forgivemanualholdsexpire | html %]" />
519 [% FOREACH inputloo IN inputloop %]
520 <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
521 <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
522 <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
524 </div> <!-- /.modal-footer -->
525 </form> <!-- /#mainform -->
526 </div> <!-- /.modal-content -->
527 </div> <!-- /.modal-dialog -->
528 </div> <!-- /#item-transfer-modal -->
529 [% END # /IF transfer || needstransfer %]
531 <!-- case of simple return no issue or transfer but with a reservation -->
532 [% IF ( reserved ) %]
534 <div id="hold-found2" class="modal fade audio-alert-action block">
535 <div class="modal-dialog">
536 <div class="modal-content">
537 <form method="post" action="returns.pl" class="confirm">
538 <div class="modal-header">
542 <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&biblionumber=[% itembiblionumber | uri %]">[% title | html %]</a>
543 <div class="hold-found-barcode">
544 (<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% itembiblionumber | uri %]&itemnumber=[% itemnumber | uri %]">[% itembarcode | html %]</a>)
549 <div class="modal-body">
550 [% IF ( reservenotes ) %]
552 <p>[% reservenotes | html %]</p>
558 [% INCLUDE 'patron-title.inc' patron=patron hide_patron_infos_if_needed=1 link_to="circulation_reserves" %]
559 <span class="patron-category"> - [% patron.category.description | html %]</span>
562 [% INCLUDE display_holdpatron_address %]
564 [% IF ( patron.phone ) %]
565 <li>[% patron.phone | html %]</li>
568 [% IF ( patron.email ) %]
570 [% IF ( transfertodo ) %]
571 [% patron.email | html %]
573 <a id="boremail" href="mailto:[% patron.email | html %]">[% patron.email | html %]</a>
578 [% UNLESS ( transfertodo) %]
579 [% INCLUDE display_bormessagepref %]
582 [% IF ( patron.debarred ) %]
583 <li class="error">Patron is RESTRICTED</li>
586 [% IF ( patron.gonenoaddress ) %]
587 <li class="error">Patron's address is in doubt</li>
590 [% IF ( transfertodo ) %]
591 <h4><strong>Transfer to:</strong> [% Branches.GetName( destbranch ) | html %]</h4>
593 <h4><strong>Hold at</strong> [% Branches.GetName( destbranch ) | html %]</h4>
596 <input type="hidden" name="print_slip" value="0" />
599 [% FOREACH inputloo IN inputloop %]
600 <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
601 <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
602 <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
605 <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
606 <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
607 <input type="hidden" name="biblionumber" value="[% itembiblionumber | html %]" />
608 <input type="hidden" name="reserve_id" value="[% reserve_id | html %]" />
609 <input type="hidden" name="diffBranch" value="[% destbranch | html %]" />
610 <input type="hidden" name="exemptfine" value="[% exemptfine | html %]" />
611 <input type="hidden" name="dropboxmode" value="[% dropboxmode | html %]" />
612 <input type="hidden" name="forgivemanualholdsexpire" value="[% forgivemanualholdsexpire | html %]" />
613 <input type="hidden" name="return_date_override" value="[% return_date_override | html %]" />
614 <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember | html %]" />
615 [% INCLUDE all_checkin_messages %]
618 <div class="modal-footer">
619 [% IF ( transfertodo ) %]
620 <button type="submit" class="btn btn-default approve">
621 <i class="fa fa-check"></i> Confirm hold and transfer
623 <button type="submit" class="btn btn-default print">
624 <i class="fa fa-print"></i> Print slip, transfer, and confirm
627 <button type="submit" class="btn btn-default approve">
628 <i class="fa fa-check"></i> Confirm hold
630 <button type="submit" class="btn btn-default print">
631 <i class="fa fa-print"></i> Print slip and confirm
635 <button data-dismiss="modal" aria-hidden="true" type="submit" class="btn btn-default deny">
636 <i class="fa fa-times"></i> Ignore
638 </div> <!-- /.modal-footer -->
639 </form> <!-- /.confirm -->
640 </div> <!-- /.modal-content -->
641 </div> <!-- /.modal-dialog -->
642 </div> <!-- /#hold-found2 -->
643 [% END #/IF reserved %]
644 [% END # /IF found %]
646 <div class="static_checkin_messages">
647 [% INCLUDE all_checkin_messages %]
650 <form id="checkin-form" method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off" >
651 <fieldset id="circ_returns_checkin">
652 <div class="show_checkin_dialog" style="float:right;display:none"><button type="button" class="btn btn-default btn-sm" data-toggle="tooltip" title="Show the last checkin message"><i class="fa fa-info"></i></button></div>
655 <div class="col-sm-6">
656 <div class="hint">Enter item barcode:</div>
657 <div class="form-control-group">
658 [% IF ( exemptfine ) %]
659 <input name="barcode" id="barcode" size="14" class="focus input-warning" type="text" />
660 [% ELSIF ( dropboxmode ) %]
661 <input name="barcode" id="barcode" size="14" class="barcode focus input-warning" />
663 <input name="barcode" id="barcode" size="14" class="barcode focus" />
665 <button type="submit" class="btn btn-default">Check in</button>
666 [% FOREACH inputloo IN inputloop %]
667 <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
668 <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
669 <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
672 <div id="show-circ-settings">
673 <a href="#"><i class="fa circ-settings-icon fa-caret-down"></i> Checkin settings</a>
676 <div class="col-sm-6">
677 [% IF ( exemptfine ) %]
678 <div id="exemptfines" class="checkin-active-setting">
680 <div id="exemptfines" class="checkin-active-setting" style="display:none;">
682 <p><i class="fa fa-check"></i> Fines for returned items are forgiven.</p>
685 [% IF ( forgivemanualholdsexpire ) %]
686 <div id="forgivemanualholdsexpire-alert" class="checkin-active-setting">
688 <div id="forgivemanualholdsexpire-alert" class="checkin-active-setting" style="display:none;">
690 <p><i class="fa fa-check"></i> Fines are not charged for manually cancelled holds.</p>
693 [% IF ( dropboxmode ) %]
694 <div id="dropboxmode" class="checkin-active-setting">
696 <div id="dropboxmode" class="checkin-active-setting" style="display:none;">
698 <p><i class="fa fa-check"></i> Book drop mode. <span class="single-line">( Effective checkin date is [% dropboxdate | $KohaDates with_hours => 1 %] )</span></p>
700 [% IF ( return_date_override_remember ) %]
701 <div id="return_date_remember" class="checkin-active-setting">
703 <div id="return_date_remember" class="checkin-active-setting" style="display:none;">
705 <p><i class="fa fa-check"></i> Saved check-in date: <span id="saved_return_date" class="single-line">[% return_date_override | html %]</span></p>
710 <div class="circ-settings">
711 [% IF Koha.Preference('SpecifyReturnDate') %]
712 <div class="date-select" id="return_date_override_fields">
713 <div class="hint">Specify return date [% INCLUDE 'date-format.inc' %]: </div>
715 <input type="text" size="13" id="return_date_override" name="return_date_override" value="[% return_date_override | html %]" />
719 <button type="button" class="action btn btn-default btn-xs" id="cleardate" name="cleardate">Clear</button>
720 <div class="circ-setting">
721 [% IF ( return_date_override_remember ) %]
722 <input type="checkbox" id="return_date_override_remember" name="return_date_override_remember" checked="checked" />
724 <input type="checkbox" id="return_date_override_remember" name="return_date_override_remember" />
726 <label for="return_date_override_remember"> Remember due date for next check in</label>
728 </div> <!-- /.date-select -->
731 [% IF ( CAN_user_updatecharges_writeoff && overduecharges ) %]
732 <div id="forgive-overdue-fines" class="circ-setting">
733 [% IF ( exemptfine ) %]
734 <input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" checked="checked" />
736 <input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" />
738 <label for="exemptcheck">Forgive overdue charges</label>
740 [% END %] <!-- overduecharges -->
742 <div id="book-drop-mode" class="circ-setting">
743 [% IF ( dropboxmode ) %]
744 <input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" checked="checked" />
746 <input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" />
748 <label for="dropboxcheck">Book drop mode</label>
751 [% IF Koha.Preference('ExpireReservesMaxPickUpDelayCharge') %]
752 <div class="forgive-manual-hold-fees circ-setting">
753 [% IF ( forgivemanualholdsexpire ) %]
754 <input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" checked="checked" />
756 <input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" />
758 <label for="forgivemanualholdsexpire">Forgive fees for manually expired holds</label>
760 [% END %] <!-- overduecharges -->
762 </div> <!-- /.circ-settings -->
763 </fieldset> <!-- /#circ_returns_checkin -->
764 </form> <!-- /#checkin-form -->
767 <h2>Checked-in items</h2>
768 <table id="checkedintable">
771 <th class="ci-duedate">Due date</th>
772 <th class="ci-title">Title</th>
773 <th class="ci-author">Author</th>
774 <th class="ci-barcode">Barcode</th>
775 <th class="ci-homelibrary">Home library</th>
776 <th class="ci-holdinglibrary">Holding library</th>
777 <th class="ci-shelvinglocation">Shelving location</th>
778 <th class="ci-callnumber">Call number</th>
779 <th class="ci-dateaccessioned">Date acquired</th>
780 <th class="ci-type">Type</th>
781 <th class="ci-patron">Patron</th>
782 <th class="ci-note">Note</th>
786 [% FOREACH riloo IN riloop %]
788 <td class="ci-duedate">
789 [% IF ( riloo.duedate ) %]
790 [% IF ( riloo.return_overdue ) %]
791 <span class="overdue">[% riloo.duedate | html %] (overdue)</span>
793 [% riloo.duedate | html %]
799 <td class="ci-title">
800 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% riloo.itembiblionumber | uri %]">
801 [% riloo.itemtitle | html %]
802 [% FOREACH subtitle IN riloo.subtitle.split(' \\| ') %] <span class="subtitle">[% subtitle | html %]</span>[% END %]
803 [% FOREACH part_number IN riloo.part_number.split(' \\| ') %] <span class="part_number">[% part_number | html %]</span>[% END %]
804 [% FOREACH part_name IN riloo.part_name.split(' \\| ') %] <span class="part_name">[% part_name | html %]<span>[% END %]
806 [% IF ( riloo.enumchron ) %]
808 <span class="item_enumeration" style="white-space: nowrap;">[% riloo.enumchron | html %]</span>
811 <td class="ci-author">[% riloo.itemauthor | html %]</td>
812 <td class="ci-barcode">
813 <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% riloo.itembiblionumber | uri %]&itemnumber=[% riloo.itemnumber | uri %]#item[% riloo.itemnumber | uri %]">[% riloo.barcode | html %]</a>
815 <td class="ci-homelibrary">
816 [% Branches.GetName( riloo.homebranch ) | html %]
818 <td class="ci-holdinglibrary">
819 [% Branches.GetName( riloo.holdingbranch ) | html %]
821 <td class="ci-shelvinglocation">
822 <span class="shelvingloc">[% riloo.location | html %]</span>
824 <td class="ci-callnumber">
825 [% riloo.itemcallnumber | html %]
827 <td class="ci-dateaccessioned">
828 [% riloo.dateaccessioned | $KohaDates %]
831 [% ItemTypes.GetDescription( riloo.itemtype ) | html %] [% AuthorisedValues.GetByCode('CCODE', riloo.ccode) | html %]
833 <td class="ci-patron">
834 [% IF ( riloo.duedate ) %]
835 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% riloo.patron.borrowernumber | uri %]">
836 [% riloo.patron.surname | html %], [% riloo.patron.firstname | html %] ([% riloo.patron.category.description | html %])
838 [% IF riloo.borissuescount %]
839 <span class="results_summary nowrap">
840 <span class="label">Checkouts:</span>
841 <span class="number_box">
842 <a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% riloo.patron.borrowernumber | uri %]">[% riloo.borissuescount | html %]</a>
851 [% IF ( riloo.patron.borrowernotes ) %]
852 <p><span class="circ-hlt patron-note">[% riloo.patron.borrowernotes | html %]</span></p>
854 [% IF ( riloo.itemnote ) %]
855 <p><span class="circ-hlt item-note-public">[% riloo.itemnote | html %]</span></p>
857 [% IF ( riloo.itemnotes_nonpublic ) %]
858 <p><span class="circ-hlt item-note-nonpublic">[% riloo.itemnotes_nonpublic | html %]</span></p>
862 [% END # /FOREACH riloo %]
863 </table> <!-- /#checkedintable -->
864 [% END # /IF riloop %]
866 [% IF Koha.Preference('CircSidebar') %]
867 </div> <!-- /.col-sm-10.col-sm-push-2 -->
868 <div class="col-sm-2 col-sm-pull-10">
870 [% INCLUDE 'circ-nav.inc' %]
872 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
873 </div> <!-- /.row -->
875 </div> <!-- /.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2 -->
876 </div> <!-- /.row -->
880 </div> <!-- /.col-sm-12 -->
881 </div> <!-- /.row -->
883 [% MACRO jsinclude BLOCK %]
884 [% INCLUDE 'datatables.inc' %]
885 [% INCLUDE 'columns_settings.inc' %]
886 [% INCLUDE 'calendar.inc' %]
887 [% Asset.js("lib/jquery/plugins/jquery-ui-timepicker-addon.min.js") | $raw %]
888 [% Asset.js("js/pages/circulation.js") | $raw %]
889 [% INCLUDE 'timepicker.inc' %]
892 function Dopop(link) {
893 var newin = window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top');
894 $("#barcode").focus();
896 $(document).ready(function () {
897 $(".modal.block").modal({ backdrop: 'static'}).on('shown.bs.modal', function() {
898 $("#barcode").prop("disabled", true);
899 $(".show_checkin_dialog").show();
900 }).on('hidden.bs.modal', function() {
901 $("#barcode").prop("disabled", false).focus();
903 $(".modal.noblock").modal({ backdrop: 'static'}).on('shown.bs.modal', function() {
904 $("#barcode").prop("disabled", false).focus();
905 }).on('hidden.bs.modal', function() {
906 $("#barcode").prop("disabled", false).focus();
909 $("body").on("click", ".show_checkin_dialog button", function(e){
911 $(".modal").modal("show");
914 $(".print-slip").on('click', function(e) {
916 Dopop('hold-transfer-slip.pl?borrowernumber=[% patron.borrowernumber | html %]&biblionumber=[% biblionumber | html %]');
920 Dopop('hold-transfer-slip.pl?borrowernumber=[% borrowernumber | html %]&biblionumber=[% biblionumber | html %]&itemnumber=[% itemnumber | html %]');
923 var columns_settings = [% ColumnsSettings.GetColumns( 'circ', 'returns', 'checkedintable', 'json' ) | $raw %]
924 var returns_table = KohaTable("checkedintable", {
929 "dom": 'B<"clearfix">t',
930 }, columns_settings);
932 $("#return_date_override").datetimepicker({
933 onClose: function(dateText, inst) {
934 if (validate_date(dateText, inst) ) {
935 $("#barcode").focus();
942 }).on("change", function(e, value) {
943 if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
945 $("#return_date_override").on("blur", function() {
946 check_valid_return_date();
948 $("#checkin-form").submit(function( event ) {
949 if ( !check_valid_return_date() ) {
950 event.preventDefault();
954 function check_valid_return_date() {
955 if ( $("#return_date_override").val() ) {
956 var datetime = DateTime_from_syspref( $("#return_date_override").val() );
957 var now = new Date();
958 if ( !datetime || datetime > now ) {
959 alert("Invalid return date/time!");
960 $("#return_date_override").val("")
964 // Add saved date information to onscreen message, which
965 // may or may not be hidden
966 $("#saved_return_date").text( $("#return_date_override").val() );
970 $("#exemptcheck").change(function () {
971 if (this.checked == true) {
972 $("#barcode").addClass("input-warning");
973 $("#exemptfines").show();
975 $("#barcode").removeClass("input-warning");
976 $("#exemptfines").hide();
978 $("#barcode").focus();
980 $("#dropboxcheck").change(function () {
981 if (this.checked == true) {
982 $("#barcode").addClass("input-warning");
983 $("#dropboxmode").show();
985 $("#return_date_override_fields :input").prop('disabled', true);
986 $("#return_date_override").datetimepicker("disable");
988 $("#barcode").removeClass("input-warning");
989 $("#dropboxmode").hide();
991 $("#return_date_override_fields :input").prop('disabled', false);
992 $("#return_date_override").datetimepicker("enable");
994 $("#barcode").focus();
996 $("#forgivemanualholdsexpire").change(function () {
997 if (this.checked == true) {
998 $("#barcode").addClass("input-warning");
999 $("#forgivemanualholdsexpire-alert").show();
1001 $("#barcode").removeClass("input-warning");
1002 $("#forgivemanualholdsexpire-alert").hide();
1004 $("#barcode").focus();
1007 [% IF(overduecharges) %]
1008 $("#barcode").focus(function () {
1009 if (($("#exemptcheck").prop("checked") == true) || ($("#dropboxcheck").prop("checked") == true)) {
1010 $("#barcode").addClass("input-warning");
1012 $("#barcode").removeClass("input-warning");
1015 $("#barcode").blur(function () {
1016 $("#barcode").removeClass("input-warning");
1020 $('.openWin').on("click",function(e){
1021 Dopop( $(this).data("url") );
1024 $('.print').on("click",function(e){
1025 this.form.print_slip.value = 1;
1029 $('.cancel-hold').on("click",function(e){
1030 this.form.cancel_reserve.value = 1;
1034 $('.action').on("click",function(e){
1035 this.checked = false;
1036 this.form.return_date_override.value = '';
1037 this.form.return_date_override_remember.checked = false;
1038 this.form.barcode.focus();
1039 $("#return_date_remember").hide();
1043 $("#return_date_override_remember").on("change", function(){
1044 if( $(this).prop("checked" ) ){
1045 if( $("#return_date_override").val() == "" ){
1046 $("#saved_return_date").text( _("No date selected") );
1048 $("#saved_return_date").text( $("#return_date_override").val() );
1050 $("#return_date_remember").show();
1052 $("#return_date_remember").hide();
1055 $('[data-toggle="tooltip"]').tooltip();
1060 [% INCLUDE 'intranet-bottom.inc' %]