Bugzilla – Attachment 16041 Details for
Bug 9783
can hit submit twice when adding patrons
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[SIGNED-OFF] Bug 9783 - can hit submit twice when adding patrons
SIGNED-OFF-Bug-9783---can-hit-submit-twice-when-ad.patch (text/plain), 5.28 KB, created by
Owen Leonard
on 2013-03-11 16:30:46 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 9783 - can hit submit twice when adding patrons
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2013-03-11 16:30:46 UTC
Size:
5.28 KB
patch
obsolete
>From e4925c742e1ab6741ce837110813513d0eff02a3 Mon Sep 17 00:00:00 2001 >From: David Cook <dcook@prosentient.com.au> >Date: Mon, 11 Mar 2013 15:08:39 +1100 >Subject: [PATCH] [SIGNED-OFF] Bug 9783 - can hit submit twice when adding > patrons >Content-Type: text/plain; charset="utf-8" > >Currently, clicking twice or more on the Save button will generate >duplicate patrons when adding patrons in the Patron module. Of course, >there is handling that detects this, so you can choose to either edit >the original record (i.e. throw away the duplicate) or create a >duplicate record. > >However, it shouldn't get to that point by clicking on the Save button. >That handling seems to be there to handle cases where you go through the >whole process of trying to add a new patron only to find out that they >already exist in the system (or at least their username/password do). > >-- > >This patch uses the "preventDoubleFormSubmit" function (which is also >used in holds and fines to prevent double form submits). It was also >necessary to edit members.js, since "check_form_borrowers" was forcing >form submits despite the "preventDoubleFormSubmit" function. I've >changed it from forcing a document.form.submit to return true, which the >browser will still submit the form if it's a unique borrower, but the >"preventDoubleFormSubmit" function will still prevent multiple submits. > >I've also added a "waiting" class to staff-global.js which changes the >cursor to "wait" (i.e. loading circle graphic). I've included an >"AddClass" call in "preventDoubleFormSubmit", so that the cursor graphic >will change to show users that the page is loading so that they don't >click Save again. Of course, even if they do click save again, there >will only be one submit. However, this way - as Chris Cormack mentioned >- the user knows that "something" is happening and that the form isn't >broken. > >------- >Test Plan > >Before applying patch... > >1) Fill out the form for a new patron in the Patron module >2) Click "Save" several times >3) Once the page loads, you'll be shown a prompt that says that this > borrower already exists. You will have the option to view the > original record, edit the original record, or create a new patron > anyway >4) Click on edit the existing record, and delete the patron > >Apply the patch > >5) Repeat steps 1 and 2 >6) Notice that your cursor has changed into a little "loading" circle > graphic when you hover over the "body" of the page, as well as any > links or any inputs/buttons of the type "submit" within that form >7) Notice that no matter how many times you press the button, the form > is not re-submitted. Eventually you will be taken to the new patron's > record (no mention of duplication will occur) > >Ta da! Multiple form submits are prevented and the loading graphic >signals to users that the form was submitted and that Koha is processing >their data > >-- > >I understand that some people might want to change which elements are >given the "waiting" class. I'm happy to renegotiate this as necessary. > >Signed-off-by: Owen Leonard <oleonard@myacpl.org> >--- > .../intranet-tmpl/prog/en/css/staff-global.css | 4 ++++ > koha-tmpl/intranet-tmpl/prog/en/js/members.js | 2 +- > koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js | 1 + > .../prog/en/modules/members/memberentrygen.tt | 1 + > 4 files changed, 7 insertions(+), 1 deletion(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >index a1e8f48..e52e3e8 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >+++ b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >@@ -2551,4 +2551,8 @@ button.closebtn{padding:0;cursor:pointer;background:transparent;border:0;-webkit > .btn-group label, > .btn-group select { > font-size: 13px; >+} >+ >+.waiting { >+ cursor: wait; > } >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/members.js b/koha-tmpl/intranet-tmpl/prog/en/js/members.js >index 351ffe9..28bf5c7 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/js/members.js >+++ b/koha-tmpl/intranet-tmpl/prog/en/js/members.js >@@ -154,7 +154,7 @@ function check_form_borrowers(nav){ > alert(message+"\n"+message_champ); > return false; > } else { >- document.form.submit(); >+ return true; > } > } > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js >index f21b122..45e0c2b 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js >+++ b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js >@@ -37,6 +37,7 @@ function clearHoldFor(){ > > jQuery.fn.preventDoubleFormSubmit = function() { > jQuery(this).submit(function() { >+ $("body, form input[type='submit'], form button[type='submit'], form a").addClass('waiting'); > if (this.beenSubmitted) > return false; > else >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >index 68d6a30..febe164 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >@@ -33,6 +33,7 @@ > } > [% END %] > $("#dateofbirth").datepicker({ maxDate: "-1D" }); >+ $("#entryform").preventDoubleFormSubmit(); > }); > > function clear_entry(node) { >-- >1.7.9.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 9783
:
16010
|
16041
|
16913