Show
Ignore:
Timestamp:
06/09/08 15:39:56 (4 months ago)
Author:
erickson
Message:

added support for setting an org unit setting to disable auto-record deletion when the last copy for the record is deleted. also support for enabling an event to be returned when the last copy for a record is deleted

Files:
1 modified

Legend:

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

    r9528 r9796  
    10471047sub remove_empty_objects { 
    10481048        my( $editor, $override, $vol ) = @_;  
     1049 
     1050    my $koe = $U->ou_ancestor_setting_value( 
     1051        $editor->requestor->ws_ou, 'cat.bib.keep_on_empty', $editor); 
     1052    my $aoe =  $U->ou_ancestor_setting_value( 
     1053        $editor->requestor->ws_ou, 'cat.bib.alert_on_empty', $editor); 
     1054 
    10491055        if( title_is_empty($editor, $vol->record) ) { 
    10501056 
    1051                 # disable the TITLE_LAST_COPY event for now 
    1052                 # if( $override ) { 
    1053                 if( 1 ) { 
    1054  
    1055                         # delete this volume if it's not already marked as deleted 
    1056                         unless( $U->is_true($vol->deleted) || $vol->isdeleted ) { 
    1057                                 $vol->deleted('t'); 
    1058                                 $vol->editor($editor->requestor->id); 
    1059                                 $vol->edit_date('now'); 
    1060                                 $editor->update_asset_call_number($vol) or return $editor->event; 
    1061                         } 
    1062  
    1063          my $evt = delete_rec($editor, $vol->record); 
    1064          return $evt if $evt; 
    1065  
    1066                 } else { 
    1067                         return OpenILS::Event->new('TITLE_LAST_COPY', payload => $vol->record ); 
    1068                 } 
     1057        # delete this volume if it's not already marked as deleted 
     1058        unless( $U->is_true($vol->deleted) || $vol->isdeleted ) { 
     1059            $vol->deleted('t'); 
     1060            $vol->editor($editor->requestor->id); 
     1061            $vol->edit_date('now'); 
     1062            $editor->update_asset_call_number($vol) or return $editor->event; 
     1063        } 
     1064 
     1065        unless($koe) { 
     1066            # delete the bib record if the keep-on-empty setting is not set 
     1067            my $evt = delete_rec($editor, $vol->record); 
     1068            return $evt if $evt; 
     1069        } 
     1070 
     1071        # return the empty alert if the alert-on-empty setting is set 
     1072        return OpenILS::Event->new('TITLE_LAST_COPY', payload => $vol->record ) if $aoe; 
    10691073        } 
    10701074