From 39a853f2b59087f8a753fd51ec9f24bcc2bdb627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= Date: Tue, 10 Nov 2020 17:00:09 +0100 Subject: [PATCH] Bug 26992: Fix serial issue and related items deletion on serial collection page serial-collection.pl uses C4::Items::DelItemCheck() function which is obsolete. Test plan: 1. Create a subscription with items created when receiving. 2. Receive several issues, and create corresponding items. 3. On Serial collection page (serial-collection.pl), select several issues. 4. Click on button Delete selected issues 5. A confirmation page is displayed. Enable "Delete associated items?". Then click on "Yes, delete" button. You get this error: Undefined subroutine &C4::Items::DelItemCheck 6. Apply the patch an repeat steps 3-5. Check that issues and related items are deleted. Signed-off-by: Blou Signed-off-by: Julian Maurice --- serials/serials-collection.pl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl index a1979eda63..f47155b6be 100755 --- a/serials/serials-collection.pl +++ b/serials/serials-collection.pl @@ -121,9 +121,13 @@ if($op eq 'delete_confirm'){ if($query->param('delitems') eq "Yes"){ foreach my $serialid (@serialsid){ my @itemnumbers = Koha::Serial::Items->search({serialid => $serialid})->get_column('itemnumber'); - foreach my $itemnumber (@itemnumbers){ - my $delcheck = C4::Items::DelItemCheck($biblionumber, $itemnumber); - $template->param(error_delitem => 1) if $delcheck != 1; + for my $itemnumber (@itemnumbers) { + my $items = Koha::Items->search({ itemnumber => $itemnumber }); + while ( my $item = $items->next ) { + my $deleted_item = eval { $item->safe_delete }; + $template->param(error_delitem => 1) + if !ref($deleted_item) or $@; + } } } } -- 2.20.1