Bug 14060: Force the input to contain a valid date
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / circ / returns.tt
1 [% USE KohaDates %]
2 [% USE Branches %]
3 [% USE Koha %]
4 [% USE Borrowers %]
5 [% USE ItemTypes %]
6 [% USE AuthorisedValues %]
7 [% USE ColumnsSettings %]
8
9 [% BLOCK display_bormessagepref %]
10     [% IF ( bormessagepref ) %]
11         <li>Patron notification:
12             [% FOREACH mtt IN bormessagepref.keys %]
13                 [%~ IF ( mtt == 'email' ) %] Email[% END ~%]
14                 [%~ IF ( mtt == 'phone' ) %] Phone[% END ~%]
15                 [%~ IF ( mtt == 'sms' ) %] SMS[% END ~%]
16                 [%~ UNLESS loop.last %], [% ELSE %].[% END ~%]
17             [% END %]
18         </li>
19            [% ELSE %]
20         <li>Patron is not notified.</li>
21     [% END %]
22 [% END %]
23
24 [% INCLUDE 'doc-head-open.inc' %]
25 <title>Koha &rsaquo; Circulation &rsaquo; Check in [% title |html %]</title>
26 <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
27 [% INCLUDE 'doc-head-close.inc' %]
28 [% INCLUDE 'datatables.inc' %]
29 [% INCLUDE 'columns_settings.inc' %]
30 [% INCLUDE 'calendar.inc' %]
31 <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery-ui-timepicker-addon.min.js"></script>
32 [% INCLUDE 'timepicker.inc' %]
33
34 <script type="text/javascript">
35 //<![CDATA[
36 function Dopop(link) {
37     var newin = window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top');
38     $("#barcode").focus();
39 }
40 $(document).ready(function () {
41     $(".modal").modal({ backdrop: 'static' }).on('shown', function() {
42         $("#barcode").prop("disabled", true);
43     }).on('hidden', function() {
44         $("#barcode").prop("disabled", false).focus();
45     });
46
47     [% IF print_slip %]
48         Dopop('hold-transfer-slip.pl?borrowernumber=[% borrowernumber %]&amp;biblionumber=[% biblionumber %]');
49     [% END %]
50
51     var columns_settings = [% ColumnsSettings.GetColumns( 'circ', 'returns', 'checkedintable', 'json' ) %]
52     var returns_table = KohaTable("#checkedintable", {
53             "bFilter":false,
54             "bPaginate":false,
55             "bInfo":false,
56             "bSort":false,
57             "dom": 'B<"clearfix">t',
58             }, columns_settings);
59
60     $("#return_date_override").datetimepicker({
61         onClose: function(dateText, inst) {
62             if (validate_date(dateText, inst) ) {
63                 $("#barcode").focus();
64             }
65         },
66         defaultDate: -1,
67         hour: 23,
68         minute: 59,
69         maxDate: 0
70     }).on("change", function(e, value) {
71         if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
72     });
73     $("#return_date_override").on("blur", function() {
74             check_valid_return_date();
75     });
76     $("#checkin-form").submit(function( event ) {
77         if ( !check_valid_return_date() ) {
78             event.preventDefault();
79         }
80     });
81
82     function check_valid_return_date() {
83         if ( $("#return_date_override").val() ) {
84             var datetime = DateTime_from_syspref( $("#return_date_override").val() );
85             var now = new Date();
86             if ( !datetime || datetime > now ) {
87                 alert("Invalid return date/time!");
88                 $("#return_date_override").val("")
89                 return false;
90             }
91         }
92         return true;
93     }
94
95     $("#exemptcheck").change(function () {
96         if (this.checked == true) {
97             $("#barcode").addClass("alert");
98             $("#exemptfines").show();
99         } else {
100             $("#barcode").removeClass("alert");
101             $("#exemptfines").hide();
102         }
103         $("#barcode").focus();
104     });
105     $("#dropboxcheck").change(function () {
106         if (this.checked == true) {
107             $("#barcode").addClass("alert");
108             $("#dropboxmode").show();
109
110             $("#return_date_override_fields :input").prop('disabled', true);
111             $("#return_date_override").datetimepicker("disable");
112         } else {
113             $("#barcode").removeClass("alert");
114             $("#dropboxmode").hide();
115
116             $("#return_date_override_fields :input").prop('disabled', false);
117             $("#return_date_override").datetimepicker("enable");
118         }
119         $("#barcode").focus();
120     });
121     $("#forgivemanualholdsexpire").change(function () {
122         if (this.checked == true) {
123             $("#barcode").addClass("alert");
124             $("#forgivemanualholdsexpire-alert").show();
125         } else {
126             $("#barcode").removeClass("alert");
127             $("#forgivemanualholdsexpire-alert").hide();
128         }
129         $("#barcode").focus();
130     });
131     [% IF(overduecharges) %] $("#barcode").focus(function () {
132         if (($("#exemptcheck").prop("checked") == true) || ($("#dropboxcheck").prop("checked") == true)) {
133             $("#barcode").addClass("alert");
134         } else {
135             $("#barcode").removeClass("alert");
136         }
137     });
138     $("#barcode").blur(function () {
139         $("#barcode").removeClass("alert");
140     });
141     [% END %]
142     $('.openWin').on("click",function(e){
143         e.preventDefault();
144         Dopop( $(this).data("url") );
145     });
146 });
147 //]]>
148 </script>
149 </head>
150 <body id="circ_returns" class="circ">
151 <span class="audio-alert-success"></span>
152
153 [% INCLUDE 'header.inc' %]
154 [% INCLUDE 'checkin-search.inc' %]
155
156 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo; Check in</div>
157
158 <div id="doc" class="yui-t7">
159
160    <div id="bd">
161         <div id="yui-main">
162
163 <div class="yui-g">
164
165 [% IF privacy == 2 AND NOT Koha.Preference('AnonymousPatron') %]
166     <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>
167 [% ELSIF NOT Koha.Preference('AnonymousPatron') AND Koha.Preference('OPACPrivacy') %]
168     <div class="dialog alert"><strong>Error:</strong> The system preference OPACPrivacy is set but AnonymousPatron is not! Please correct this before continuing circulation.</div>
169 [% END %]
170
171 [% IF additional_materials %]
172     <div class="dialog message" id="materials">Note about the accompanying materials: <br />
173     [% additional_materials %]
174     </div>
175 [% END %]
176
177 [% IF ( collectionItemNeedsTransferred ) %]
178  <div id="rotating-collection" class="dialog message">
179         <h3>Please transfer item to: [% collectionBranchName %]</h3>
180             <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">[% itembarcode |html %]: [% title |html %]</a></p>
181             <p>This item is part of a rotating collection.</p>
182             <p><button type="button" class="openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber %]&amp;branchcode=[% collectionBranch %]&amp;op=slip"><i class="fa fa-print"></i> Print slip</button></p>
183 </div>
184 [% END %]
185
186 <!-- Patron has fines -->
187 [% IF ( fines ) %]
188     <div class="dialog alert">
189         <h3>Patron has outstanding fines of [% fines %].</h3>
190         <p><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% fineborrowernumber %]">Make payment</a>.</p>
191     </div>
192 [% END %]
193
194 <!-- Patron has waiting holds -->
195 [% IF ( waiting_holds ) %]
196     <div id="awaiting-pickup" class="dialog message">
197         <h3>[% holdsfirstname %] [% holdssurname %] has [% waiting_holds %] hold(s) waiting for pickup.</h3>
198         <p><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% holdsborrowernumber %]">Check out to this patron</a>.</p>
199     </div>
200 [% END %]
201
202 <!-- Patron is restricted and checkin was backdated -->
203 [% IF return_date_was_overriden && Borrowers.IsDebarred( borrower ) %]
204     <div id="restricted_backdated" class="dialog message">
205         <h3>
206             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber %]">
207                 [% borrower.firstname %] [% borrower.surname %]
208             </a>
209             is restricted. Please verify this patron should still be restricted.
210         </h3>
211     </div>
212 [% END %]
213
214 [% IF ( wrongbranch ) %]
215     <div class="dialog alert"><h3>Cannot check in</h3>
216         <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">[% itembarcode |html %]: [% title |html %]</a></p>
217         </p><strong>NOT CHECKED IN</strong></p>
218         <p>This item must be checked in at following library: <strong>[% Branches.GetName( rightbranch ) %]</strong></p>
219     </div>
220 [% END %]
221 <!-- case of a mistake in transfer loop -->
222 [% IF ( WrongTransfer ) %]
223     <div id="return2" class="dialog message">
224         <!-- WrongTransfer -->
225         <h3>Please return item to: [% Branches.GetName( TransferWaitingAt ) %]</h3>
226             <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">[% itembarcode |html %]: [% title |html %]</a></p>
227         <button type="submit" class="openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber %]&amp;&amp;branchcode=[% homebranch %]&amp;op=slip"><i class="fa fa-print"></i> Print transfer slip</button>
228         <button class="deny" type="submit" onclick="window.location.href='/cgi-bin/koha/circ/returns.pl?itemnumber=[% itemnumber %]&amp;canceltransfer=1'"><i class="fa fa-times"></i> Cancel transfer</button>
229 [% IF ( wborcnum ) %]<h5>Hold for:</h5>
230         <ul><li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">
231             [% borsurname %], [% borfirstname %]</a> ([% borcnum %])</li>
232         <li>[% wborstnum %] [% wboraddress %][% IF ( wboraddress2 ) %]<br />
233                 [% wboraddress2 %]<br />[% END %]
234         [% wborcity %]  [% wborzip %]</li>
235         [% IF ( wborphone ) %]<li>[% wborphone %]</li>[% END %]
236                 [% IF ( wboremail ) %]<li><a id="boremail" href="mailto:[% wboremail %]">[% wboremail %]</a></li>[% END %]
237         </ul>
238
239     <form method="post" action="returns.pl" class="confirm">
240             <input type="hidden" name="WT-itemNumber" value="[% WrongTransferItem %]" />
241             <input type="hidden" name="WT-waitingAt" value="[% TransferWaitingAt %]" />
242             <input type="hidden" name="WT-From" value="[% wtransfertFrom %]" />
243             <button type="submit" class="approve"><i class="fa fa-check"></i> Confirm</button>
244             <input type="hidden" name="print_slip" value="0" />
245             <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
246             <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
247             <button type="submit" class="print" onclick="this.form.print_slip.value = 1; this.form.submit();"><i class="fa fa-print"></i> Print slip and confirm</button>
248         <input type="hidden" name="return_date_override" value="[% return_date_override %]" />
249         <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember %]" />
250     </form>
251     [% END %]</div>
252 [% END %]
253
254 [% IF ( found ) %]
255     [% IF ( waiting ) %]
256         <div id="hold-found1" class="modal fade audio-alert-action">
257             <form method="post" action="returns.pl" class="confirm">
258                 <div class="modal-header">
259                     <h3>
260                         Hold found (item is already waiting):
261                         <br/>
262                         <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">
263                             [% itembarcode |html %]: [% title |html %]
264                         </a>
265                     </h3>
266                 </div>
267
268                 <div class="modal-body">
269                     [% IF ( reservenotes ) %]
270                         <h4>Notes: [% reservenotes %]</h4>
271                     [% END %]
272
273                     <h4>Hold for:</h4>
274
275                     <li>
276                         <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borsurname %], [% borfirstname %]</a> ([% borcnum %])
277                     </li>
278
279                     <li>
280                         [% borstnum %] [% boraddress %]<br />
281                         [% IF ( boraddress2 ) %]
282                             [% boraddress2 %]<br />
283                         [% END %]
284                         [% borcity %] [% borzip %]
285                     </li>
286
287                     [% IF ( borphone ) %]
288                         <li> [% borphone %]</li>
289                     [% END %]
290
291                     [% IF ( boremail ) %]
292                         <li><a id="boremail" href="mailto:[% boremail %]">[% boremail %]</a></li>
293                     [% END %]
294
295                     [% IF ( debarred ) %]
296                         <li class="error">Patron is RESTRICTED</li>
297                     [% END %]
298
299                     [% IF ( gonenoaddress ) %]
300                         <li class="error">Patron's address is in doubt</li>
301                     [% END %]
302
303                     [% IF ( transfertodo ) %]
304                         <h4><strong>Transfer to:</strong> [% destbranchname %]</h4>
305                     [% ELSE %]
306                         <h4><strong>Hold at</strong> [% destbranchname %]</h4>
307                     [% END %]
308
309                     [% FOREACH inputloo IN inputloop %]
310                         <input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" />
311                         <input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" />
312                         <input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" />
313                     [% END %]
314
315                     <input type="hidden" name="itemnumber" value="[% itemnumber %]" />
316                     <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
317                     <input type="hidden" name="biblionumber" value="[% itembiblionumber %]" />
318                     <input type="hidden" name="resbarcode" value="[% barcode | html %]" />
319                     <input type="hidden" name="reserve_id" value="[% reserve_id %]" />
320                     <input type="hidden" name="diffBranch" value="[% destbranch %]" />
321                     <input type="hidden" name="exemptfine" value="[% exemptfine %]" />
322                     <input type="hidden" name="dropboxmode" value="[% dropboxmode %]" />
323                     <input type="hidden" name="forgivemanualholdsexpire" value="[% forgivemanualholdsexpire %]" />
324
325                     <input type="hidden" name="return_date_override" value="[% return_date_override %]" />
326                     <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember %]" />
327                 </div>
328
329                 <div class="modal-footer">
330                     <input type="hidden" name="cancel_reserve" value="0" />
331
332                     <button type="submit" class="btn approve">
333                         <i class="fa fa-check"></i> Confirm
334                     </button>
335
336                     <input type="hidden" name="print_slip" value="0" />
337                     <button type="submit" class="btn print" onclick="this.form.print_slip.value = 1; this.form.submit();">
338                         <i class="fa fa-print"></i> Print and confirm
339                     </button>
340
341                     <button type="submit" class="btn deny" onclick="this.form.cancel_reserve.value = 1; this.form.submit();">
342                         <i class="fa fa-times"></i> Cancel hold
343                     </button>
344                 </div>
345             </form>
346         </div>
347     [% END %]
348
349     [% IF ( diffbranch ) %]
350                 <!-- diffbranch -->
351         <div id="transfer-needed" class="dialog message audio-alert-action">
352             <h3>Hold needing transfer found</h3>
353                 <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">[% itembarcode |html %]: [% title |html %]</a></p>
354                 <h4>Hold for: </h4>
355                     <ul>
356                         <li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borsurname %], [% borfirstname %]</a> ([% borcnum %])</li>
357                         <li>[% borstnum %] [% boraddress %]<br />
358                                                 [% IF ( boraddress2 ) %][% boraddress2 %]<br />[% END %]
359                                                 [% borcity %]  [% borzip %]</li>
360                         [% IF ( borphone ) %]<li>[% borphone %]</li>[% END %]
361                         [% IF ( boremail ) %]<li>[% IF ( transfertodo ) %][% boremail %][% ELSE %]<a id="boremail" href="mailto:[% boremail %]">[% boremail %]</a>[% END %]</li>[% END %]
362 [% IF ( debarred ) %]<li class="error">Patron is RESTRICTED</li>[% END %]
363 [% IF ( gonenoaddress ) %]<li class="error">Patron's address is in doubt</li>[% END %]
364                     </ul>
365                 [% IF ( transfertodo ) %]
366             <h4><strong>Transfer to:</strong> [% destbranchname %]</h4>
367                 [% ELSE %]
368                 <h4><strong>Hold at</strong> [% destbranchname %]</h4>
369         [% END %]
370
371         <form method="post" action="returns.pl" class="confirm">
372             <button type="submit" class="approve"><i class="fa fa-check"></i> Confirm</button>
373             <input type="hidden" name="print_slip" value="0" />
374             <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
375             <input type="hidden" name="biblionumber" value="[% itembiblionumber %]" />
376             <button type="submit" class="print" onclick="this.form.print_slip.value = 1; this.form.submit();"><i class="fa fa-print"></i> Print slip and continue</button>
377             [% FOREACH inputloo IN inputloop %]
378                 <input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" />
379                 <input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" />
380                 <input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" />
381             [% END %]
382             <input type="hidden" name="diffBranch" value="[% destbranch %]" />
383             <input type="hidden" name="exemptfine" value="[% exemptfine %]" />
384             <input type="hidden" name="dropboxmode" value="[% dropboxmode %]" />
385             <input type="hidden" name="forgivemanualholdsexpire" value="[% forgivemanualholdsexpire %]" />
386             <input type="hidden" name="barcode" value="0" />
387
388             <input type="hidden" name="return_date_override" value="[% return_date_override %]" />
389             <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember %]" />
390         </form>
391                 </div>
392     [% END %]
393
394     [% IF ( transfer ) %]
395     <!-- transfer: item with no reservation, must be returned according to home library circulation rules -->
396         <div id="return1" class="dialog message audio-alert-action">
397             <h3>Please return item to: [% Branches.GetName( returnbranch ) %]</h3>
398             <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">[% itembarcode |html %]: [% title |html %]</a></p>
399             <p><button type="button" class="openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber %]&amp;branchcode=[% returnbranch %]&amp;op=slip"><i class="fa fa-print"></i> Print slip</button></p>
400         </div>
401     [% END %]
402
403     [% IF ( needstransfer ) %]
404         <!-- needstransfer -->
405     <div id="item-transfer" class="dialog message audio-alert-action"><h3> This item needs to be transferred to [% Branches.GetName( returnbranch ) %]</h3>
406     Transfer now?<br />
407     <form method="post" action="returns.pl" name="mainform" id="mainform">
408     [% IF itemnumber %]
409         <button type="submit" name="dotransfer" class="print openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber %]&amp;&amp;branchcode=[% returnbranch %]&amp;op=slip"><i class="fa fa-print"></i> Yes, print slip</button>
410     [% END %]
411         <button type="submit" name="dotransfer" class="submit"><i class="fa fa-check"></i> Yes</button>
412         <button type="submit" name="notransfer" class="submit"><i class="fa fa-times"></i> No</button>
413     <input type="hidden" name="tobranch" value="[% returnbranch %]" />
414         <input type="hidden" name="transferitem" value="[% itemnumber %]" />
415         <input type="hidden" name="exemptfine" value="[% exemptfine %]" />
416         <input type="hidden" name="dropboxmode" value="[% dropboxmode %]" />
417         <input type="hidden" name="forgivemanualholdsexpire" value="[% forgivemanualholdsexpire %]" />
418         [% FOREACH inputloo IN inputloop %]
419         <input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" />
420         <input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" />
421         <input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" />
422         [% END %]
423         <input type="hidden" name="barcode" value="0" />
424         <input type="hidden" name="return_date_override" value="[% return_date_override %]" />
425         <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember %]" />
426         </form>   </div>
427     [% END %]
428
429     [% IF ( diffbranch ) %]
430         <!-- diffbranch -->
431         <h3 class="audio-alert-action">Item consigned:</h3>
432         <table>
433         <caption><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">[% title |html %]</a></caption>
434         <tr>
435             <th>Hold for:</th>
436             <td>[% name %]</td>
437         </tr>
438         </table>
439         <form method="post" action="returns.pl"><input type="submit" value="OK" />
440             [% FOREACH inputloo IN inputloop %]
441                 [% UNLESS ( inputloo.first ) %]
442                     <input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" />
443                     <input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" />
444                     <input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" />
445                 [% END %]
446             [% END %]
447
448             <input type="hidden" name="return_date_override" value="[% return_date_override %]" />
449             <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember %]" />
450
451             <input type="hidden" name="barcode" value="0" />
452         </form>
453     [% END %]
454
455
456     <!-- case of simple return no issue or transfer but with a reservation  -->
457     [% IF ( reserved ) %]
458         <!--  reserved  -->
459         <div id="hold-found2" class="modal fade audio-alert-action">
460             <form method="post" action="returns.pl" class="confirm">
461                 <div class="modal-header">
462                     <h3>
463                         Hold found:
464                         <br/>
465                         <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">
466                             [% itembarcode |html %]: [% title |html %]
467                         </a>
468                 </div>
469
470                 <div class="modal-body">
471                     [% IF ( reservenotes ) %]
472                         <h4>Notes: [% reservenotes %]</h4>
473                     [% END %]
474                     <h5>Hold for:</h5>
475
476                         <li>
477                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">
478                                 [% borsurname %], [% borfirstname %]
479                             </a>
480                             ([% borcnum %])
481                         </li>
482
483                         <li>
484                             [% borstnum %] [% boraddress %]<br />
485                             [% IF ( boraddress2 ) %]
486                                 [% boraddress2 %]<br />
487                             [% END %]
488                             [% borcity %] [% borzip %]
489                         </li>
490
491                         [% IF ( borphone ) %]
492                             <li>[% borphone %]</li>
493                         [% END %]
494
495                         [% IF ( boremail ) %]
496                             <li>
497                                 [% IF ( transfertodo ) %]
498                                     [% boremail %]
499                                 [% ELSE %]
500                                     <a id="boremail" href="mailto:[% boremail %]">[% boremail %]</a>
501                                 [% END %]
502                             </li>
503                         [% END %]
504
505                         [% UNLESS ( transfertodo) %]
506                             [% INCLUDE display_bormessagepref %]
507                         [% END %]
508
509                         [% IF ( debarred ) %]
510                             <li class="error">Patron is RESTRICTED</li>
511                         [% END %]
512
513                         [% IF ( gonenoaddress ) %]
514                             <li class="error">Patron's address is in doubt</li>
515                         [% END %]
516
517                     [% IF ( transfertodo ) %]
518                         <h4><strong>Transfer to:</strong> [% destbranchname %]</h4>
519                     [% ELSE %]
520                         <h4><strong>Hold at</strong> [% destbranchname %]</h4>
521                     [% END %]
522
523                     <input type="hidden" name="print_slip" value="0" />
524
525
526                     [% FOREACH inputloo IN inputloop %]
527                         <input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" />
528                         <input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" />
529                         <input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" />
530                     [% END %]
531
532                     <input type="hidden" name="itemnumber" value="[% itemnumber %]" />
533                     <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
534                     <input type="hidden" name="biblionumber" value="[% itembiblionumber %]" />
535                     <input type="hidden" name="resbarcode" value="[% barcode %]" />
536                     <input type="hidden" name="reserve_id" value="[% reserve_id %]" />
537                     <input type="hidden" name="diffBranch" value="[% destbranch %]" />
538                     <input type="hidden" name="exemptfine" value="[% exemptfine %]" />
539                     <input type="hidden" name="dropboxmode" value="[% dropboxmode %]" />
540                     <input type="hidden" name="forgivemanualholdsexpire" value="[% forgivemanualholdsexpire %]" />
541                     <input type="hidden" name="return_date_override" value="[% return_date_override %]" />
542                     <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember %]" />
543                 </div>
544
545                 <div class="modal-footer">
546                     [% IF ( transfertodo ) %]
547                         <button type="submit" class="btn approve">
548                             <i class="fa fa-check"></i> Confirm hold and transfer
549                         </button>
550                         <button type="submit" class="btn print" onclick="this.form.print_slip.value = 1; this.form.submit()">
551                             <i class="fa fa-print"></i> Print slip, transfer, and confirm
552                         </button>
553                     [% ELSE %]
554                         <button type="submit" class="btn approve">
555                             <i class="fa fa-check"></i> Confirm hold
556                         </button>
557                         <button type="submit" class="btn print" onclick="this.form.print_slip.value = 1; this.form.submit();">
558                             <i class="fa fa-print"></i> Print slip and confirm
559                         </button>
560                     [% END %]
561
562                     <button data-dismiss="modal" aria-hidden="true" type="submit" class="btn btn-danger deny" onclick="$('#barcode').focus(); return false;">
563                         <i class="fa fa-times"></i> Ignore
564                     </button>
565                 </div>
566             </form>
567         </div>
568     [% END %]
569 [% END %]
570
571 [% IF ( errmsgloop ) %]
572     <div class="dialog alert audio-alert-warning">
573         <h3>Check in message</h3>
574         [% IF itembiblionumber %]
575             <p><a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber %]">[% itembarcode |html %]: [% title |html %]</a></p>
576         [% END %]
577         [% FOREACH errmsgloo IN errmsgloop %]
578                     [% IF ( errmsgloo.NotForLoanStatusUpdated ) %]
579                         <p class="problem">
580                             Not for loan status updated.
581                             <br />Old value:
582                             [% IF errmsgloo.NotForLoanStatusUpdated.from %]
583                                 [% AuthorisedValues.GetByCode( 'NOT_LOAN', errmsgloo.NotForLoanStatusUpdated.from ) %].
584                             [% ELSE %]
585                                 Available for loan.
586                             [% END %]
587                             <br />New value:
588                             [% IF errmsgloo.NotForLoanStatusUpdated.to %]
589                                 [% AuthorisedValues.GetByCode( 'NOT_LOAN', errmsgloo.NotForLoanStatusUpdated.to ) %].
590                             [% ELSE %]
591                                 Available for loan.
592                             [% END %]
593                         </p>
594                     [% END %]
595                     [% IF ( errmsgloo.badbarcode ) %]
596                         <p class="problem">No item with barcode: [% errmsgloo.msg | html %]</p>
597                     [% END %]
598                     [% IF ( errmsgloo.ispermanent ) %]
599                         <p class="problem">Please return item to: [% errmsgloo.msg %]</p>
600                     [% END %]
601                     [% IF ( errmsgloo.notissued ) %]
602                         <p class="problem">Not checked out.</p>
603                     [% END %]
604                     [% IF ( errmsgloo.localuse) %]
605                         <p class="problem">Local use recorded</p>
606                     [% END %]
607                     [% IF ( errmsgloo.waslost ) %]
608                         <p class="problem">Item was lost, now found.</p>
609                         [% IF ( LostItemFeeRefunded ) %]
610                             <p class="problem">A refund has been applied to the borrowing patron's account.</p>
611                         [% ELSE %]
612                             <p class="problem">Any lost item fees for this item will remain on the patron's account.</p>
613                         [% END %]
614                     [% END %]
615                     [% IF ( errmsgloo.withdrawn ) %]
616                         [% IF BlockReturnOfWithdrawnItems %]
617                            <h5>Cannot check in</h5>
618                            <p><strong>NOT CHECKED IN</strong></p>
619                            <p class="problem">Item is withdrawn.</p>
620                         [% ELSE %]
621                            <p class="problem">Item is withdrawn.</p>
622                         [% END %]
623                     [% END %]
624                     [% IF ( errmsgloo.debarred ) %]
625                         <p class="problem"><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% errmsgloo.debarborrowernumber %]">[% errmsgloo.debarname %]([% errmsgloo.debarcardnumber %])</a> is now debarred until [% errmsgloo.debarred | $KohaDates %].</p>
626                     [% END %]
627                     [% IF ( errmsgloo.prevdebarred ) %]
628                         <p class="problem"><b>Reminder: </b>Patron was earlier restricted until [% errmsgloo.prevdebarred | $KohaDates %].</p>
629                     [% END %]
630                     [% IF ( errmsgloo.foreverdebarred ) %]
631                         <p class="problem"><b>Reminder: </b>Patron has an indefinite restriction.</p>
632                     [% END %]
633
634             [% END %]
635         [% ELSE %]
636         [% END %]
637     </div>
638
639 [% IF ( checkinmsg ) %]
640     [% IF ( checkinmsgtype == 'alert' ) %]
641         <div class="dialog alert">
642     [% ELSE %]
643         <div class="dialog message">
644     [% END %]
645             <p class="problem">[% checkinmsg | html_line_break %]</p>
646         </div>
647 [% END%]
648
649     <div id="exemptfines" class="dialog message" style="display:none;">
650         <p>Fines for returned items are forgiven.</p>
651     </div>
652     <div id="forgivemanualholdsexpire-alert" class="dialog message" style="display:none;">
653         <p>Fines are not charged for manually cancelled holds.</p>
654     </div>
655     <div id="dropboxmode" class="dialog message" style="display:none;">
656         <p>Book drop mode.  (Effective checkin date is [% dropboxdate %] ).</p>
657     </div>
658 </div>
659         <div class="yui-g">
660     <form id="checkin-form" method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off" >
661     <div class="yui-u first">
662             <fieldset>
663         <legend>Check in</legend>
664             <label for="barcode">Enter item barcode: </label>
665                         [% IF ( exemptfine ) %]
666                         <input name="barcode" id="barcode" size="14" class="focus alert"/>
667                         [% ELSIF ( dropboxmode ) %]
668                         <input name="barcode" id="barcode" size="14" class="focus alert"/>
669                         [% ELSE %]
670                         <input name="barcode" id="barcode" size="14" class="focus"/>
671                         [% END %]
672             <input type="submit" class="submit" value="Submit" />
673
674             [% IF Koha.Preference('SpecifyReturnDate') %]
675                 <div class="date-select" id="return_date_override_fields">
676                     <div class="hint">Specify return date [% INCLUDE 'date-format.inc' %]: </div>
677
678                     <input type="text" size="13" id="return_date_override" name="return_date_override" value="[% return_date_override %]" />
679
680                     <label for="return_date_override_remember"> Remember for next check in:</label>
681                     [% IF ( return_date_override_remember ) %]
682                         <input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" checked="checked" />
683                     [% ELSE %]
684                         <input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" />
685                     [% END %]
686
687                     <input type="button" class="action" id="cleardate" value="Clear" name="cleardate" onclick="this.checked = false; this.form.return_date_override.value = ''; this.form.return_date_override_remember.checked = false; this.form.barcode.focus(); return false;" />
688             </div>
689         [% END %]
690             [% FOREACH inputloo IN inputloop %]
691                 <input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" />
692                 <input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" />
693                 <input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" />
694             [% END %]
695
696
697             </fieldset>
698             </div>
699             <div class="yui-u">
700             <fieldset id="checkin_options">
701                 <legend>Options</legend>
702                     [% IF ( CAN_user_updatecharges_writeoff && overduecharges ) %]
703                     <p>
704                         [% IF ( exemptfine ) %]
705                         <input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" checked="checked" />
706                         [% ELSE %]
707                         <input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" />
708                         [% END %]
709                         <label for="exemptcheck">Forgive overdue charges</label>
710                     </p>
711                     [% END %] <!-- overduecharges -->
712                     <p>
713                         [% IF ( dropboxmode ) %]
714                         <input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" checked="checked" />
715                         [% ELSE %]
716                         <input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" />
717                         [% END %]
718                         <label for="dropboxcheck">Book drop mode</label>
719                     </p>
720                     [% IF Koha.Preference('ExpireReservesMaxPickUpDelayCharge') %]
721                     <p>
722                         [% IF ( forgivemanualholdsexpire ) %]
723                         <input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" checked="checked" />
724                         [% ELSE %]
725                         <input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" />
726                         [% END %]
727                         <label for="forgivemanualholdsexpire">Forgive fees for manually expired holds</label>
728                     </p>
729                     [% END %] <!-- overduecharges -->
730             </fieldset>
731         </div>
732     </form>
733 </div>
734
735 [% IF ( riloop ) %]
736     <h2>Checked-in items</h2>
737     <table id="checkedintable">
738     <thead><tr><th class="ci-duedate">Due date</th><th class="ci-title">Title</th><th class="ci-author">Author</th><th class="ci-barcode">Barcode</th><th class="ci-homelibrary">Home library</th><th class="ci-holdinglibrary">Holding library</th><th class="ci-shelvinglocation">Shelving location</th><th class="ci-callnumber">Call number</th><th class="ci-dateaccessioned">Date acquired</th><th class="ci-type">Type</th><th class="ci-patron">Patron</th><th class="ci-note">Note</th></tr></thead>
739
740         [% FOREACH riloo IN riloop %]
741             <tr>
742             <td class="ci-duedate">[% IF ( riloo.duedate ) %]
743                     [% IF ( riloo.return_overdue ) %]
744                         <span class="overdue">[% riloo.duedate %] (overdue)</span>
745                     [% ELSE %][% riloo.duedate %]
746                     [% END %]
747                 [% ELSE %]Not checked out
748                 [% END %]
749             </td>
750             <td class="ci-title"><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% riloo.itembiblionumber %]">
751                     [% riloo.itemtitle |html %]
752                 </a>
753                 [% IF ( riloo.enumchron ) %]
754                     <br/>
755                     <span class="item_enumeration" style="white-space: nowrap;">[% riloo.enumchron %]</span>
756                 [% END %]
757             </td>
758             <td class="ci-author">[% riloo.itemauthor %]</td>
759             <td class="ci-barcode"><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% riloo.itembiblionumber %]&amp;itemnumber=[% riloo.itemnumber %]#item[% riloo.itemnumber %]">[% riloo.barcode %]</a></td>
760             <td class="ci-homelibrary">[% Branches.GetName( riloo.homebranch ) %]</td>
761             <td class="ci-holdinglibrary">[% Branches.GetName( riloo.holdingbranch ) %]</td>
762             <td class="ci-shelvinglocation">[% riloo.location %]</td>
763             <td class="ci-callnumber">[% riloo.itemcallnumber %]</td>
764             <td class="ci-dateaccessioned">[% riloo.dateaccessioned | $KohaDates %]</td>
765             <td class="ci-type">[% ItemTypes.GetDescription( riloo.itemtype ) %] [% AuthorisedValues.GetByCode('CCODE', riloo.ccode) %]</td>
766             <td class="ci-patron">[% IF ( riloo.duedate ) %]
767                 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% riloo.borrowernumber %]">
768                     [% riloo.borsurname %], [% riloo.borfirstname %] ([% riloo.borcategorycode %])
769                 </a>
770             [% ELSE %]Not checked out[% END %]</td>
771             <td class="ci-note">
772                 [% IF ( riloo.bornote ) %]<p><span class="circ-hlt patron-note">[% riloo.bornote %]</p></span>[% END %]
773                 [% IF ( riloo.itemnote ) %]<p><span class="circ-hlt item-note-public">[% riloo.itemnote %]</p></span>[% END %]
774                 [% IF ( riloo.itemnotes_nonpublic ) %]<p><span class="circ-hlt item-note-nonpublic">[% riloo.itemnotes_nonpublic %]</p></span>[% END %]
775             </td>
776            </tr>
777         [% END %]
778     </table></div>
779 [% END %]
780
781
782 </div>
783 [% INCLUDE 'intranet-bottom.inc' %]