Show
Ignore:
Timestamp:
02/22/08 13:51:15 (8 months ago)
Author:
erickson
Message:

added support for volume-level holds migration during volume merging

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/rel_1_2/Open-ILS/src/perlmods/OpenILS/Application/Cat/Merge.pm

    r8819 r8824  
    219219                return (undef,$editor->die_event) unless $editor->allowed('UPDATE_VOLUME', $_->owning_lib); 
    220220                $editor->update_asset_call_number($_) or return (undef, $editor->die_event); 
     221        merge_volume_holds($editor, $bigcn, $_->id); 
    221222        } 
    222223 
     
    226227} 
    227228 
     229sub merge_volume_holds { 
     230    my($e, $master_id, $vol_id) = @_; 
     231 
     232    my $holds = $e->search_action_hold_request( 
     233        {   cancel_time => undef,  
     234            fulfillment_time => undef, 
     235            hold_type => 'V', 
     236            target => $vol_id 
     237        } 
     238    ); 
     239 
     240    for my $hold (@$holds) { 
     241 
     242        $logger->info("Changing hold ".$hold->id. 
     243            " target from ".$hold->target." to $master_id in volume merge"); 
     244 
     245        $hold->target($master_id); 
     246        unless($e->update_action_hold_request($hold)) { 
     247            my $evt = $e->event; 
     248            $logger->error("Error updating hold ". $evt->textcode .":". $evt->desc .":". $evt->stacktrace);  
     249        } 
     250    } 
     251 
     252    return undef; 
     253} 
     254 
    228255 
    2292561;