From d61f82770aab55dc56637ddc2563081932bb9185 Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Thu, 11 Oct 2018 08:50:30 -0400 Subject: [PATCH] LP 1333893: Keep Empty Bib on Volume Transfer Volume transfer did not honor the cat.bib_keep_on_empty organizational unit setting when removing empty bib records. This commit changes it so that tranfer honors the setting in the same manner that deleting copies and volumes does. To test this fix, set cat.bib_keep_on_empty for your workstation org. unit to true, and then transfer all of the volumes from one bib record to another. The empty bib record should not get deleted. You can also test with the setting on false to make sure that the empty bib gets deleted. Signed-off-by: Jason Stephenson Signed-off-by: Beth Willis --- .../src/perlmods/lib/OpenILS/Application/Cat.pm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm index 3fcd255e45..831633717d 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm @@ -1486,12 +1486,14 @@ sub batch_volume_transfer { } # Now see if any empty records need to be deleted after all of this - - for(@rec_ids) { - $logger->debug("merge: seeing if we should delete record $_..."); - $evt = OpenILS::Application::Cat::BibCommon->delete_rec($e, $_) - if OpenILS::Application::Cat::BibCommon->title_is_empty($e, $_); - return $evt if $evt; + my $keep_on_empty = $U->ou_ancestor_setting_value($e->requestor->ws_ou, 'cat.bib.keep_on_empty', $e); + unless ($U->is_true($keep_on_empty)) { + for (@rec_ids) { + $logger->debug("merge: seeing if we should delete record $_..."); + $evt = OpenILS::Application::Cat::BibCommon->delete_rec($e, $_) + if OpenILS::Application::Cat::BibCommon->title_is_empty($e, $_); + return $evt if $evt; + } } } -- 2.43.2