Bug 12062: Follow up - adds missing )
[koha_fer] / koha-tmpl / intranet-tmpl / prog / en / modules / circ / returns.tt
index aee0a5e..72f9ee3 100644 (file)
@@ -1,9 +1,16 @@
 [% USE KohaDates %]
 [% USE Branches %]
+[% USE Koha %]
+[% USE Borrowers %]
+[% USE AuthorisedValues %]
 
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Circulation &rsaquo; Check in [% title |html %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
+
+[% INCLUDE 'calendar.inc' %]
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery-ui-timepicker-addon.min.js"></script>
+
 <script type="text/javascript">
 //<![CDATA[
 function Dopop(link) {
@@ -11,6 +18,35 @@ function Dopop(link) {
     $("#barcode").focus();
 }
 $(document).ready(function () {
+    $("#return_date_override").datetimepicker({
+        onClose: function(dateText, inst) { $("#barcode").focus(); },
+        defaultDate: -1,
+        hour: 23,
+        minute: 59,
+        maxDate: 0
+    });
+    $("#return_date_override").on("blur", function() {
+            check_valid_return_date();
+    });
+    $("#checkin-form").submit(function( event ) {
+        if ( !check_valid_return_date() ) {
+            event.preventDefault();
+        }
+    });
+
+    function check_valid_return_date() {
+        if ( $("#return_date_override").val() ) {
+            var datetime = DateTime_from_syspref( $("#return_date_override").val() );
+            var now = new Date();
+            if ( !datetime || datetime > now ) {
+                alert("Invalid return date/time!");
+                $("#return_date_override").val("")
+                return false;
+            }
+        }
+        return true;
+    }
+
     $("#exemptcheck").change(function () {
         if (this.checked == true) {
             $("#barcode").addClass("alert");
@@ -25,9 +61,15 @@ $(document).ready(function () {
         if (this.checked == true) {
             $("#barcode").addClass("alert");
             $("#dropboxmode").show();
+
+            $("#return_date_override_fields :input").attr("disabled", true);
+            $("#return_date_override").datetimepicker("disable");
         } else {
             $("#barcode").removeClass("alert");
             $("#dropboxmode").hide();
+
+            $("#return_date_override_fields :input").attr("disabled", false);
+            $("#return_date_override").datetimepicker("enable");
         }
         $("#barcode").focus();
     });
@@ -86,6 +128,17 @@ $(document).ready(function () {
     </div>
 [% END %]
 
+<!-- Patron is restricted and checkin was backdated -->
+[% IF return_date_was_overriden && Borrowers.IsDebarred( borrower ) %]
+    <div id="restricted_backdated" class="dialog message">
+        <h3>
+            <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber %]">
+                [% borrower.firstname %] [% borrower.surname %]
+            </a>
+            is restricted. Please verify this patron should still be restricted.
+        </h3>
+    </div>
+[% END %]
 
 [% IF ( wrongbranch ) %]
 <div class="dialog alert"><h3>Cannot check in</h3><p>This item must be checked in at its home library. <strong>NOT CHECKED IN</strong></p>
@@ -319,6 +372,23 @@ $(document).ready(function () {
     <div class="dialog alert">
         <h3>Check in message</h3>
         [% FOREACH errmsgloo IN errmsgloop %]
+                    [% IF ( errmsgloo.NotForLoanStatusUpdated ) %]
+                        <p class="problem">
+                            Not for loan status updated
+                            from
+                            [% IF errmsgloo.NotForLoanStatusUpdated.from %]
+                                [% AuthorisedValues.GetByCode( 'NOT_LOAN', errmsgloo.NotForLoanStatusUpdated.from ) %]
+                            [% ELSE %]
+                                being available for loan
+                            [% END %]
+                            to
+                            [% IF errmsgloo.NotForLoanStatusUpdated.to %]
+                                [% AuthorisedValues.GetByCode( 'NOT_LOAN', errmsgloo.NotForLoanStatusUpdated.to ) %]
+                            [% ELSE %]
+                                being available for loan
+                            [% END %]
+                        </p>
+                    [% END %]
                     [% IF ( errmsgloo.badbarcode ) %]
                         <p class="problem">No item with barcode: [% errmsgloo.msg %]</p>
                     [% END %]
@@ -350,6 +420,9 @@ $(document).ready(function () {
                     [% IF ( errmsgloo.debarred ) %]
                         <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>
                     [% END %]
+                    [% IF ( errmsgloo.prevdebarred ) %]
+                        <p class="problem"><b>Reminder: </b>Patron was earlier restricted until [% errmsgloo.prevdebarred | $KohaDates %]</p>
+                    [% END %]
             [% END %]
 [% IF ( soundon ) %]
 <audio src="[% interface %]/[% theme %]/sound/critical.ogg" autoplay="autoplay" autobuffer="autobuffer"></audio>
@@ -379,7 +452,7 @@ $(document).ready(function () {
     </div>
 </div>
        <div class="yui-g">
-    <form method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off" >
+    <form id="checkin-form" method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off" >
     <div class="yui-u first">
             <fieldset>
        <legend>Check in</legend>
@@ -392,6 +465,23 @@ $(document).ready(function () {
                        <input name="barcode" id="barcode" size="14" class="focus"/>
                        [% END %]
             <input type="submit" class="submit" value="Submit" />
+
+            [% IF Koha.Preference('SpecifyReturnDate') %]
+                <div class="date-select" id="return_date_override_fields">
+                    <div class="hint">Specify return date [% INCLUDE 'date-format.inc' %]: </div>
+
+                    <input type="text" size="13" id="return_date_override" name="return_date_override" value="[% return_date_override %]" />
+
+                    <label for="return_date_override_remember"> Remember for next check in:</label>
+                    [% IF ( return_date_override_remember ) %]
+                        <input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" checked="checked" />
+                    [% ELSE %]
+                        <input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" />
+                    [% END %]
+
+                    <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;" />
+            </div>
+        [% END %]
             [% FOREACH inputloo IN inputloop %]
                 <input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" />
                 <input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" />
@@ -404,7 +494,7 @@ $(document).ready(function () {
             <div class="yui-u">
             <fieldset id="checkin_options">
                 <legend>Options</legend>
-                    [% IF ( overduecharges ) %]
+                    [% IF ( CAN_user_updatecharges_writeoff && overduecharges ) %]
                     <p>
                         [% IF ( exemptfine ) %]
                         <input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" checked="checked" />