-
-
-
+
+
@@ -229,7 +238,7 @@
var rfloat = button.data('float');
$('#floatc').text(rfloat);
var rid = button.data('registerid');
- $('#cashup_confirm').attr("href", '/cgi-bin/koha/pos/registers.pl?op=cashup®isterid='+rid);
+ $('#cashup_registerid').val(rid);
});
});
diff --git a/pos/register.pl b/pos/register.pl
index 327e0f10ef..66e0533c74 100755
--- a/pos/register.pl
+++ b/pos/register.pl
@@ -102,7 +102,7 @@ if ( !$registers->count ) {
$template->param( trange_t => $end, );
my $op = $input->param('op') // '';
- if ( $op eq 'cashup' ) {
+ if ( $op eq 'cud-cashup' ) {
if ( $logged_in_user->has_permission( { cash_management => 'cashup' } ) ) {
$cash_register->add_cashup(
{
@@ -110,6 +110,10 @@ if ( !$registers->count ) {
amount => $cash_register->outstanding_accountlines->total
}
);
+
+ # Redirect to prevent duplicate submissions (POST/REDIRECT/GET pattern)
+ print $input->redirect( "/cgi-bin/koha/pos/register.pl?registerid=" . $registerid );
+ exit;
} else {
$template->param( error_cashup_permission => 1 );
}
diff --git a/pos/registers.pl b/pos/registers.pl
index 9bd20ea6e3..4eb58459dd 100755
--- a/pos/registers.pl
+++ b/pos/registers.pl
@@ -54,7 +54,7 @@ if ( !$registers->count ) {
}
my $op = $input->param('op') // '';
-if ( $op eq 'cashup' ) {
+if ( $op eq 'cud-cashup' ) {
if ( $logged_in_user->has_permission( { cash_management => 'cashup' } ) ) {
my $registerid = $input->param('registerid');
if ($registerid) {
@@ -75,6 +75,10 @@ if ( $op eq 'cashup' ) {
);
}
}
+
+ # Redirect to prevent duplicate submissions (POST/REDIRECT/GET pattern)
+ print $input->redirect("/cgi-bin/koha/pos/registers.pl");
+ exit;
} else {
$template->param( error_cashup_permission => 1 );
}