Bug 12000: ensure that hold resumption dates can be set only to future dates
authorGalen Charlton <gmc@esilibrary.com>
Wed, 26 Mar 2014 17:58:46 +0000 (17:58 +0000)
committerGalen Charlton <gmc@esilibrary.com>
Mon, 31 Mar 2014 14:26:55 +0000 (14:26 +0000)
This patch makes the datepickers for the hold resumption date
(AKA the hold suspend until date) field only permit dates in
the future to be selected in the staff interface checkout page
and hold list pages.  This makes these pages consistent with
the OPAC and the patron details page in the staff interface.

To test:

[1] Ensure that AutoResumeSuspendedHolds and SuspendHoldsIntranet
    are enabled.
[2] Go to the checkout page for a patron that has at least one hold
    request.
[3] Verify that the datepicker for the hold suspend until
    date field only permits choosing a date in the future.
[4] Go to the page listing hold requests for a title.
[5] Verify that the datepicker for the hold suspend until
    date fields only permit choosing a date in the future.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt

index e667bc3..7c611dd 100644 (file)
@@ -94,6 +94,9 @@ var MSG_EXPORT_SELECT_CHECKOUTS = _("You must select checkout(s) to export");
     } ).attr( 'checked', false );
     [% END %]
     [% END %]
+    [% IF AutoResumeSuspendedHolds %]
+        $("#suspend_until").datepicker("option", "minDate", 1); // require that hold suspended until date is after today
+    [% END %]
  });
 //]]>
 </script>
index 93c005a..1f6bd82 100644 (file)
@@ -19,6 +19,12 @@ var override_items = {[% FOREACH bibitemloo IN bibitemloop %][% FOREACH itemloo
 };
 var MSG_NO_ITEMS_AVAILABLE = _("A hold cannot be requested on any of these items.");
 
+$(document).ready(function() {
+    [% IF AutoResumeSuspendedHolds %]
+        $(".suspend_until_datepicker").datepicker("option", "minDate", 1);
+    [% END %]
+});
+
 function check() {
        var msg = "";
        var count_reserv = 0;
@@ -740,7 +746,7 @@ function checkMultiHold() {
 
             [% IF AutoResumeSuspendedHolds %]
         <label for="suspend_until_[% reserveloo.reserve_id %]">[% IF ( reserveloo.suspend ) %] on [% ELSE %] until [% END %]</label>
-            <input name="suspend_until" id="suspend_until_[% reserveloo.reserve_id %]" size="10" readonly="readonly" value="[% reserveloo.suspend_until | $KohaDates %]" class="datepicker" />
+            <input name="suspend_until" id="suspend_until_[% reserveloo.reserve_id %]" size="10" readonly="readonly" value="[% reserveloo.suspend_until | $KohaDates %]" class="datepicker suspend_until_datepicker" />
             <a href='#' onclick="document.getElementById('suspend_until_[% reserveloo.reserve_id %]').value='';">Clear date</a>
             [% END %]
        [% ELSE %]