@@ -, +, @@ just been cancelled table, click the cancel receipt link. on both tables. Clicking the cancel receipt link again results in an error message. only in the pending orders table, as expected. is logged in the Apache error log: --- acqui/parcel.pl | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) --- a/acqui/parcel.pl +++ a/acqui/parcel.pl @@ -117,6 +117,18 @@ my ($template, $loggedinuser, $cookie) debug => 1, }); +my $op = $input->param('op') // ''; + +# process cancellation first so that list of +# orders to display is calculated after +if ($op eq 'cancelreceipt') { + my $ordernumber = $input->param('ordernumber'); + my $parent_ordernumber = CancelReceipt($ordernumber); + unless($parent_ordernumber) { + $template->param(error_cancelling_receipt => 1); + } +} + my $invoiceid = $input->param('invoiceid'); my $invoice; $invoice = GetInvoiceDetails($invoiceid) if $invoiceid; @@ -130,16 +142,6 @@ unless( $invoiceid and $invoice->{invoiceid} ) { exit; } -my $op = $input->param('op') // ''; - -if ($op eq 'cancelreceipt') { - my $ordernumber = $input->param('ordernumber'); - my $parent_ordernumber = CancelReceipt($ordernumber); - unless($parent_ordernumber) { - $template->param(error_cancelling_receipt => 1); - } -} - my $booksellerid = $invoice->{booksellerid}; my $bookseller = GetBookSellerFromId($booksellerid); my $gst = $bookseller->{gstrate} // C4::Context->preference("gist") // 0; @@ -203,7 +205,7 @@ push @book_foot_loop, map { $_ } values %foot; my @loop_orders = (); if(!defined $invoice->{closedate}) { my $pendingorders; - if($input->param('op') eq "search"){ + if($op eq "search"){ my $search = $input->param('summaryfilter') || ''; my $ean = $input->param('eanfilter') || ''; my $basketname = $input->param('basketfilter') || ''; --