From 315163f8e722c12e36a396a7e92ea0d4f3aff56f Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Fri, 28 Feb 2020 10:32:16 -0500 Subject: [PATCH] Bug 24857: Delete a volume when the last item on that volume is deleted Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Rebecca Coert --- Koha/Item.pm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Koha/Item.pm b/Koha/Item.pm index e084e10905..18926482d6 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -199,6 +199,19 @@ sub delete { C4::Biblio::ModZebra( $self->biblionumber, "specialUpdate", "biblioserver" ) unless $params->{skip_modzebra_update}; + if ( C4::Context->preference('EnableVolumes') ) { + my $volume_item = + Koha::Biblio::Volume::Items->find( { itemnumber => $self->itemnumber } ); + my $volume_id = $volume_item ? $volume_item->volume_id : undef; + + # If this item is the last item on a volume, delete the volume as well + if ($volume_id) { + my $volume = Koha::Biblio::Volumes->find($volume_id); + my @volume_items = $volume->items(); + $volume->delete unless @volume_items; + } + } + $self->_after_item_action_hooks({ action => 'delete' }); logaction( "CATALOGUING", "DELETE", $self->itemnumber, "item" ) -- 2.11.0