LP#1975879: avoid propagating owning library changes for dummy call numbers user/jeffdavis/lp1975879-volcopy-edit-callnum-owner-v2.5
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 31 Aug 2022 22:39:55 +0000 (15:39 -0700)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 31 Aug 2022 22:57:30 +0000 (15:57 -0700)
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Open-ILS/src/perlmods/lib/OpenILS/Application/Cat.pm

index c48261b..1a635b1 100644 (file)
@@ -1228,18 +1228,21 @@ sub fleshed_volume_update {
 
             my $copy_ids = [map {$_->id} @$copies];
 
-            # Avoid in-empty-list
-            my @copy_filter = @$copy_ids ? (id => {'not in' => $copy_ids}) : ();
-
-            my $addl_copies = $editor->search_asset_copy(
-                {   call_number => $vol->id,
-                    @copy_filter,
-                    circ_lib => {'<>' => $vol->owning_lib},
-                    deleted => 'f'
-                }, {substream => 1} # could be many
-            );
-
-            $copies = [@$copies, @$addl_copies];
+            # grab copies to propagate to, unless this is a dummy call number
+            if ($vol->id >= 0) {
+                # Avoid in-empty-list
+                my @copy_filter = @$copy_ids ? (id => {'not in' => $copy_ids}) : ();
+
+                my $addl_copies = $editor->search_asset_copy(
+                    {   call_number => $vol->id,
+                        @copy_filter,
+                        circ_lib => {'<>' => $vol->owning_lib},
+                        deleted => 'f'
+                    }, {substream => 1} # could be many
+                );
+
+                $copies = [@$copies, @$addl_copies];
+            }
 
             for (@$copies) {
                 if ($_->circ_lib != $vol->owning_lib) {