From fbc9568473c6db9b1378f2a7f8d6728a99d64344 Mon Sep 17 00:00:00 2001 From: Daniel Pearl Date: Wed, 12 Dec 2018 12:51:07 -0500 Subject: [PATCH] LP#1029601: Prevent double-clicking when submitting hold requests. Double clicking on hold submit buttons causes multiple holds to be generated. This adds some code to disable the Submit button(s) after the first click, so subsequent clicks don't "work" in unintended ways. Signed-off-by: Dan Pearl Signed-off-by: Jeff Davis --- Open-ILS/src/templates/opac/parts/place_hold_result.tt2 | 14 +++++++++++--- Open-ILS/web/js/ui/default/opac/holds-validation.js | 7 ++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Open-ILS/src/templates/opac/parts/place_hold_result.tt2 b/Open-ILS/src/templates/opac/parts/place_hold_result.tt2 index b97f03ead1..59bc6fbec4 100644 --- a/Open-ILS/src/templates/opac/parts/place_hold_result.tt2 +++ b/Open-ILS/src/templates/opac/parts/place_hold_result.tt2 @@ -6,13 +6,21 @@ + +
[% l('Result of Placing Hold:') %]
-
+ [% FOR k IN ctx.orig_params.keys %] @@ -88,7 +96,7 @@ ); [% END %] - + [% ELSIF hdata.hold_failed; any_failures = 1 %]
[% l("Hold could not be placed."); %]
@@ -139,7 +147,7 @@ [% |l %]You have permission to override some of the failed holds. Click Submit to override and place your hold on the selected items.[% END %]
- diff --git a/Open-ILS/web/js/ui/default/opac/holds-validation.js b/Open-ILS/web/js/ui/default/opac/holds-validation.js index c0cad6cc67..773a756e57 100644 --- a/Open-ILS/web/js/ui/default/opac/holds-validation.js +++ b/Open-ILS/web/js/ui/default/opac/holds-validation.js @@ -89,7 +89,12 @@ function validateHoldForm() { return false; } } - return confirmMultipleHolds(); + var result = confirmMultipleHolds(); + if (result) { + var submit_element = document.getElementById("place_hold_submit"); + submit_element.disabled = true; + } + return result; } else { alert(eg_opac_i18n.EG_MISSING_REQUIRED_INPUT); res.culpritNames.forEach(function(n){ -- 2.11.0