protect hold targeter against deleted records
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 28 Jan 2008 22:05:11 +0000 (22:05 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 28 Jan 2008 22:05:11 +0000 (22:05 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_2@8521 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm

index 2e069e7..2d1e075 100644 (file)
@@ -786,7 +786,7 @@ sub new_hold_copy_targeter {
                        $log->info("Processing hold ".$hold->id."...\n");
 
                        #first, re-fetch the hold, to make sure it's not captured already
-            $hold->remove_from_object_index();
+                       $hold->remove_from_object_index();
                        $hold = action::hold_request->retrieve( $hold->id );
                        die "OK\n" if (!$hold or $hold->capture_time);
 
@@ -806,7 +806,11 @@ sub new_hold_copy_targeter {
                                                {$_->record}
                                                metabib::record_descriptor
                                                        ->search(
-                                                               record => [ map { $_->id } metabib::metarecord->retrieve($hold->target)->source_records ],
+                                                               record => [
+                                                                       map {
+                                                                               isTrue($_->deleted) ?  () : ($_->id)
+                                                                       } metabib::metarecord->retrieve($hold->target)->source_records
+                                                               ],
                                                                ( $types   ? (item_type => [split '', $types])   : () ),
                                                                ( $formats ? (item_form => [split '', $formats]) : () ),
                                                                ( $lang    ? (item_lang => $lang)                : () ),