From b8a2785d6737eab2ce5311871806f8a2e4ac818c Mon Sep 17 00:00:00 2001 From: Jake Deery Date: Tue, 8 Feb 2022 11:40:06 +0000 Subject: [PATCH] Bug 30003: Prevent double up of point-of-sale items This patch prevents the double submission of point-of-sale items when form validation fails at the first submission Test plan 1. Navigate to /cgi-bin/koha/pos/pay.pl 2. Add an item from 'items to purchase' 3. Under 'collect payment', click submit without altering the form 4. See 'This field is required.' 5. Now, fill a value in 'Amount tendered' that satisfies or exceeds 'Amount being paid' 6. The payment should succeed 7. Navigate to /cgi-bin/koha/pos/register.pl 8. See duplicate lines in Transactions 9. Apply patch 10. Repeat 2-6 11. Navigate to /cgi-bin/koha/pos/register.pl 12. Confirm only a single line was added Signed-off-by: Sally Signed-off-by: Nick Clemens Signed-off-by: Fridolin Somers Signed-off-by: Kyle M Hall --- koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt index 243c0baaae..007ddd1e77 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt @@ -402,6 +402,14 @@ }); $('#payForm').submit(function(e){ + // first, clear stale sales 'rows' from the payForm + if($('input[name="sales"]').length > 0) { + $('input[name="sales"]').each(function() { + $(this).remove(); + }); + } + + // now, process the current & fresh contents of the sale_table if (change != undefined && change.innerHTML > 0.00 && !checked) { e.preventDefault(); $("#confirm_change_form").modal("show"); -- 2.39.5