@@ -, +, @@ option selected Holds allowed (total) Holds allowed (daily) Holds per record (count) On shelf holds allowed OPAC item level holds Article requests On-site checkout: "On-site" Current checkouts allowed: 1 and click Save. --- .../prog/en/modules/admin/smart-rules.tt | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt @@ -1013,6 +1013,36 @@ $(edit_row).find("td:last input[name='clear']").remove(); } + function disable_onsite_checkout_hold_rules() { + var onsite_checkout = $("#edit_row").find("select[name='onsite_checkout']"); + + var CANNOT_SET_HOLD_RULES_FOR_ONSITE_CHECKOUT = + _("Cannot set this rule when on-site checkout is defined"); + + var hold_related_rule_els = [ + $("input#reservesallowed"), + $("input#holds_per_record"), + $("input#holds_per_day"), + $("select#onshelfholds"), + $("select#opacitemholds"), + $("select#article_requests") + ]; + + // when onsite_checkout is selected (any other value than *), + // disable hold related input fields, because it makes no sense + // to set hold rules for a specific type of checkout + $.each(hold_related_rule_els, function (i, field) { + if (onsite_checkout.val() !== "*") { + $(field).attr("disabled", "disabled"); + $(field).val(""); + $(field).after('' + CANNOT_SET_HOLD_RULES_FOR_ONSITE_CHECKOUT + "") + } else { + $(field).removeAttr("disabled"); + $("span.hold_rule_disabled").remove(); + } + }); + } + var MSG_CONFIRM_DELETE = _("Are you sure you want to delete this rule? This cannot be undone."); $(document).ready(function() { @@ -1113,8 +1143,16 @@ $("#default-circulation-rules tr:last td:eq(0) select").prop('disabled', true); $("#default-circulation-rules tr:last td:eq(1) select").prop('disabled', true); $("#default-circulation-rules tr:last td:eq(2) select").prop('disabled', true); + + disable_onsite_checkout_hold_rules(); + return false; }); + + $("select[id='matrixonsite_checkout']").change(function () { + disable_onsite_checkout_hold_rules(); + }); + $(".clear_edit").on("click",function(e){ e.preventDefault(); clear_edit(); --