From c122b45af809567110e666467411d07627ebe986 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Tue, 24 Jun 2025 14:03:34 +0100 Subject: [PATCH] Bug 38728: Add automatic modal popup for cashups on register details page This patch automatically triggers the cashup display modal after a cashup is performed from the individual Register details display page. Test plan: 1. Enable the point of sale system preference 2. Ensure you have permission for cash_management > cashup 3. Create at least one cash register for your current branch 4. Navigate to More > Point of Sale > Cash registers 5. Click on a register name to access the individual register page 6. Perform some transactions to create outstanding amounts 7. Click 'Record cashup' button on the register details page 8. Confirm the cashup in the modal dialog 9. Verify that after page reload, the cashup summary modal automatically opens showing the details of the cashup just performed Signed-off-by: David Nind Signed-off-by: Sally Healey Signed-off-by: Andrew Fuerste Henry Signed-off-by: Lucas Gass --- koha-tmpl/intranet-tmpl/prog/en/modules/pos/register.tt | 9 +++++++++ pos/register.pl | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/register.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/register.tt index e01152f751..7ef3277169 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/register.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/register.tt @@ -573,6 +573,15 @@ } ] }, null, 1); + + $(document).ready(function() { + [% IF cashup_id %] + let $button = $('[data-cashup="[% cashup_id | html %]"]'); + if ($button.length) { + $button[0].click(); + } + [% END %] + }); [% END %] diff --git a/pos/register.pl b/pos/register.pl index 66e0533c74..9d64a84284 100755 --- a/pos/register.pl +++ b/pos/register.pl @@ -104,7 +104,7 @@ if ( !$registers->count ) { my $op = $input->param('op') // ''; if ( $op eq 'cud-cashup' ) { if ( $logged_in_user->has_permission( { cash_management => 'cashup' } ) ) { - $cash_register->add_cashup( + my $cashup = $cash_register->add_cashup( { manager_id => $logged_in_user->id, amount => $cash_register->outstanding_accountlines->total @@ -112,7 +112,7 @@ if ( !$registers->count ) { ); # Redirect to prevent duplicate submissions (POST/REDIRECT/GET pattern) - print $input->redirect( "/cgi-bin/koha/pos/register.pl?registerid=" . $registerid ); + print $input->redirect( "/cgi-bin/koha/pos/register.pl?registerid=" . $registerid . "&cashup_id=" . $cashup->id ); exit; } else { $template->param( error_cashup_permission => 1 );