From 80737996ec728d0cb6264f35a2a98a6f33ee445f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc=20V=C3=A9ron?= Date: Wed, 10 Feb 2016 17:21:40 +0100 Subject: [PATCH] Bug 11498 - Prevent bypassing sco timeout with print dialog This patch prevents bypassing the self check timeout with the print dialog. To test: - Set syspref 'WebVasedSelfCheck' to 'Enable' - Set syspref 'SelfCheckoutReceivePrompt' to 'Show' - Set syspref 'SelfCheckTimeout' to 20 seconds - Apply patch - Go to SCO page (/cgi-bin/koha/sco/sco-main.pl) - Enter card number - Click 'Finish'. Dialog "Would you like to pritn a receipt?' appears. - Confirm printing without waiting 20 seconds => Result: Print slip, SCO page shows 'Please enter your card number' - Enter card number again - Click 'Finish'. Dialog "Would you like to pritn a receipt?' appears. - Wait > 20 seconds (value of SelfCheckTimeout) and then confirm. => Result: Message appears "Timeout while waiting for print confirmation" - Click on OK. => Result: Self checkout page refreshes (shows 'Please enter your card number') Signed-off-by: Mirko Tietgen Signed-off-by: Katrin Fischer https://bugs.koha-community.org/show_bug.cgi?id=11497 Signed-off-by: Brendan A Gallagher (cherry picked from commit 7f8037f642913d94ebec70413c6fd8cadfdf938d) Signed-off-by: Julian Maurice --- koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt index 3f0b1f3a71..42d25083e9 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt @@ -370,8 +370,13 @@ $("#logout_form").submit(function(){ clearTimeout(mainTimeout); [% IF Koha.Preference('SelfCheckReceiptPrompt') %] + var confirmStart = Date.now(); if(confirm(_("Would you like to print a receipt?"))){ - window.open("/cgi-bin/koha/sco/printslip.pl?borrowernumber=[% borrowernumber %]&print=qslip"); + if ( (Date.now() - confirmStart) < [% SelfCheckTimeout %] ) { + window.open("/cgi-bin/koha/sco/printslip.pl?borrowernumber=[% borrowernumber %]&print=qslip"); + } else { + alert(_("Timeout while waiting for print confirmation")); + } } [% END %] -- 2.39.5