From 807867c4de2d551000bde6f30c46a6fc4b0a2763 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 - On serial collection page, impossible to delete issues and related items serial-collection.pl uses C4::Items::DelItemCheck() function which is obsolte. 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: David Nind --- serials/serials-collection.pl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl index a1979eda63..2942f1d408 100755 --- a/serials/serials-collection.pl +++ b/serials/serials-collection.pl @@ -119,12 +119,16 @@ if($op eq 'delete_confirm'){ } }elsif($op eq 'delete_confirmed'){ if($query->param('delitems') eq "Yes"){ + my @itemnumbers; 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; - } + my @ids = Koha::Serial::Items->search({serialid => $serialid})->get_column('itemnumber'); + push(@itemnumbers, @ids); + } + my $items = Koha::Items->search({ itemnumber => \@itemnumbers }); + while ( my $item = $items->next ) { + my $deleted_item = eval { $item->safe_delete }; + $template->param(error_delitem => 1) + if !ref($deleted_item) or $@; } } for my $serialid (@serialsid){ -- 2.11.0