Bug 12000: ensure that hold resumption dates can be set only to future dates

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>
This commit is contained in:
Galen Charlton 2014-03-26 17:58:46 +00:00
parent 94d8055548
commit 7378d48841
2 changed files with 10 additions and 1 deletions

View 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>

View 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 %]