From 790f00781ab6c98017529ebf226d52c36c36cd68 Mon Sep 17 00:00:00 2001 From: Kyle Hall Date: Tue, 17 Jan 2023 12:18:00 -0500 Subject: [PATCH] Bug 32656: Script delete_records_via_leader.pl no longer deletes items Bug 29788 inadvertantly replaced a call to safe_delete() with safe_to_delete() such that any time the script should delete an item it only checks to see if the item is delectable, after which deletion of the record fails because the items were not deleted. Test Plan: 1) Mark a record with items to be deleted via the record leader 2) Run delete_records_via_leader.pl -i -b -v 3) Note the script says it is deleting the items but then the record deletion fails. Note the items remain in the items table of the database. 4) Apply this patch 5) Repeat step 2 6) This time the items and record should be deleted! Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Martin Renvoize --- misc/cronjobs/delete_records_via_leader.pl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/misc/cronjobs/delete_records_via_leader.pl b/misc/cronjobs/delete_records_via_leader.pl index 030b1475dd..c94a2615ca 100755 --- a/misc/cronjobs/delete_records_via_leader.pl +++ b/misc/cronjobs/delete_records_via_leader.pl @@ -70,16 +70,16 @@ This script has the following parameters : exit(); } -my @metadatas = # Should be replaced by a call to C4::Search on zebra index +my $metadatas = # Should be replaced by a call to C4::Search on zebra index # Record-status when bug 15537 will be pushed Koha::Biblio::Metadatas->search( { format => 'marcxml', schema => C4::Context->preference('marcflavour'), metadata => { LIKE => '%_____d%' } } ); -my $total_records_count = @metadatas; +my $total_records_count = $metadatas->count; my $deleted_records_count = 0; my $total_items_count = 0; my $deleted_items_count = 0; -foreach my $m (@metadatas) { - my $biblionumber = $m->get_column('biblionumber'); +while ( my $m = $metadatas->next ) { + my $biblionumber = $m->biblionumber; say "RECORD: $biblionumber" if $verbose; @@ -99,7 +99,7 @@ foreach my $m (@metadatas) { say "TEST MODE: ERROR DELETING ITEM $itemnumber: $error"; } } else { - my $deleted = $item->safe_to_delete; + my $deleted = $item->safe_delete; if ( $deleted ) { say "DELETED ITEM $itemnumber" if $verbose; $deleted_items_count++; -- 2.39.5