From 9baffcb4c1057c1bf8df860adbbb81cfe15f881e 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: David Nind Signed-off-by: Tomas Cohen Arazi --- 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 a1979eda63f..14c5a44ff7d 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 $error = $item->safe_delete; + $template->param(error_delitem => 1) + if $error eq '1'; } } for my $serialid (@serialsid){ -- 2.29.2