From 415ab33e0f48ab5c66287e8b477722daa7cf4378 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 20 Oct 2021 13:06:06 +0000 Subject: [PATCH] Bug 29283: Don't attempt to cancel cancelled orders MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When deleting a basket we cancel all the contained orders - when a basket contains an order that was previously cancelled this can cause an error if the biblio was deleted When picking the orders to cancel, we should limit our search to those not already cancelled. To test: - have a basket with at least one order - click "Cancel order and delete catalog record", confirm cancellation of order and deletion of bib - click "Delete basket", confirm deletion - get error "Cannot insert order: Mandatory parameter biblionumber is missing at /kohadevbox/koha/acqui/basket.pl line 136. at /usr/share/perl/5.28/Carp.pm line 289" - apply patch - restart - delete the basket - success! Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Joonas Kylmälä Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall (cherry picked from commit 9aa8470382a78558baadcfb13dc545410cc0e70f) Signed-off-by: Fridolin Somers --- acqui/basket.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/acqui/basket.pl b/acqui/basket.pl index f77d86b88c..19a580bd08 100755 --- a/acqui/basket.pl +++ b/acqui/basket.pl @@ -132,7 +132,9 @@ if ( $op eq 'delete_confirm' ) { my $delbiblio = $query->param('delbiblio'); my $basket_obj = Koha::Acquisition::Baskets->find($basketno); - my $orders = $basket_obj->orders; + my $orders = $basket_obj->orders->search({ + datecancellationprinted => undef + }); my @cannotdelbiblios; -- 2.39.5