Bug 25563: (bug 24386 follow-up) Don't disable submit button if form has not been...
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 21 May 2020 10:00:34 +0000 (12:00 +0200)
committerVictor Grousset/tuxayo <victor@tuxayo.net>
Thu, 11 Jun 2020 17:32:24 +0000 (19:32 +0200)
On bug 24386 we prevent double form submission using the our own preventDoubleFormSubmit JS function.

The problem is that we are checking some conditions, and prevent the
form submission if something is not filled (for instance no checkbox
checked, or no fund selected).

Technically it means that:
- click the submit button
- it submits the form
- we disable the submit button
- we prevent the form to be submitted before something is wrong
At this stage the button is disabled and the form cannot be longer be
submitted.

This patch replaces the "on submit" event of the form with the "on click" event of the submit button.
Which means we are going to:
- click the submit button
- we prevent the form to be submitted before something is wrong
=> The button will only be disabled if the form is really submitted

Test plan:
- stage a marc record
- acquisitions: have a basket
- click on "Add to basket"
- "From a staged file"
- Don't tick the record
- Save
- You should see an expected error message
- Tick the record
- Save
- You should see an expected error message
- Choose a fund
- Click the "Save" button as many times as you can, to try double submit
it.
=> The order is saved

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 37370c415ab5e59422aff46be14ccfec0cf8c373)
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>

(cherry picked from commit 74b4b64bf94ec60c2b6a01e4dbfad67216ffeeb1)
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>

koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt
koha-tmpl/intranet-tmpl/prog/js/addorderiso2709.js

index 80d6cba..a522f70 100644 (file)
                       </div>
 
                       <fieldset class="action">
-                          <input type="submit" value="Save" /><a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | html %]">Cancel</a>
+                          <input id="add_order" type="submit" value="Save" /><a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | html %]">Cancel</a>
                       </fieldset>
                     </form>
                 [% ELSE %]
index 5fa2417..b7a83fc 100644 (file)
@@ -48,7 +48,9 @@ $(document).ready(function() {
         return false;
     });
 
-    $("#Aform").on("submit", function(){
+    $("input#add_order").on("click", function(e){
+        e.preventDefault();
+
         if ( $("input:checkbox[name='import_record_id']:checked").length < 1 ) {
             alert( ERR_NO_RECORD_SELECTED );
             return false;
@@ -72,7 +74,9 @@ $(document).ready(function() {
             return false;
         }
 
-        return disableUnchecked($(this));
+        disableUnchecked($(this.form));
+
+        $(this.form).submit();
     });
 
     $('#tabs').tabs();