For some reason, parts were protected during item transfer, but stat cats were
not. This commit protects them by fleshing stat cat entries in the outer
item transfer method.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
my $fleshed_copies = [];
my ($copy, $copy_evt);
foreach my $copy_id ( @{ $copies } ) {
- ($copy, $copy_evt) = $U->fetch_copy($copy_id);
- return $copy_evt if $copy_evt;
+ $copy = $editor->search_asset_copy([
+ { id => $copy_id , deleted => 'f' },
+ {
+ flesh => 1,
+ flesh_fields => { acp => ['parts', 'stat_cat_entries'] }
+ }
+ ])->[0];
+ return OpenILS::Event->new('ASSET_COPY_NOT_FOUND') if !$copy;
$copy->call_number( $volume );
$copy->circ_lib( $cn->owning_lib() );
$copy->ischanged( 't' );