Bug 40108: Fix print receipt option in self-checkout
The self-checkout logout process, with SelfCheckReceiptPrompt enabled,
asks the user if they want to print a receipt. Because of an error in
time calculation the system always believed the process had timed out
and wouldn't print the receipt.
Before we implemented a modal dialog to ask for confirmation upon
self-checkout logout, it was necessary to have a timeout function built
into the process. See Bug 11498.
The modal no longer blocks the page timeout function, so this time
calculation is obsolete and can be removed.
To test, apply the patch and go to the self-checkout module.
- Make sure the SelfCheckReceiptPrompt system preference is enabled.
- Log in as a user for doing self-checkout.
- Click the "Finish" button.
- You should see a dialog, "Would you like to print a receipt?"
- Clicking "Print receipt..." should open a new window with your
receipt and log you out of the self-checkout system.
- Clicking "End session" should end your session without triggering a
popup.
- Set the SelfCheckTimeout system preference to something very low, like
10 seconds.
- Perform the same test as above, but after triggering the dialog wait
10 seconds for the timeout to trigger.
- The page should reload automatically and log you out.
- Disable the SelfCheckReceiptPrompt system preference.
- Perform the same tests to confirm that clicking the "Finish" button
logs you out immediately without offering to print a slip.
Sponsored-by: Athens County Public Libraries
Signed-off-by: David Flater <flaterdavid@gmail.com>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 6f147f4116)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
This commit is contained in:
parent
16727da95c
commit
cf2d0dd69a
|
|
@ -513,15 +513,14 @@
|
|||
$("#logout_form").on("click", function(e){
|
||||
e.preventDefault(e);
|
||||
[% IF Koha.Preference('SelfCheckReceiptPrompt') %]
|
||||
var confirmStart = Date.now();
|
||||
confirmModal("", _("Would you like to print a receipt?"), _("Print receipt and end session"), _("End session"), function(result) {
|
||||
if ( result && (Date.now() - confirmStart) < [% Koha.Preference('SelfCheckTimeout') | html %] ) {
|
||||
if ( result ){
|
||||
var win = window.open("/cgi-bin/koha/sco/printslip.pl?print=qslip");
|
||||
location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
|
||||
} else {
|
||||
location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
|
||||
}
|
||||
})
|
||||
});
|
||||
[% ELSE %]
|
||||
location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
|
||||
[% END %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue