From e8471b3b8eb53f9be697dfc6a5fb7910f0221377 Mon Sep 17 00:00:00 2001 From: Lebbeous Fogle-Weekley Date: Thu, 28 Mar 2013 15:08:37 -0400 Subject: [PATCH] Fix bug in hold targeter introduced with Calculated Proximity Adjustments The Calculated Proximity Adjustments feature introduced a bug in the hold targeter where holds would not discount those copies from the potentials list that aren't in either the Available or Reshelving status. This commit should restore the earlier, correct behavior. Signed-off-by: Lebbeous Fogle-Weekley --- .../lib/OpenILS/Application/Storage/Publisher/action.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm index abe4c466f9..9e09d19d1a 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm @@ -1578,8 +1578,13 @@ sub new_hold_copy_targeter { } # reset prox list after trimming good copies - $prox_list = create_prox_list( $self, $pu_lib, \@good_copies, $hold ); + $prox_list = create_prox_list( + $self, $pu_lib, + [ grep { ''.$_->circ_lib eq $pu_lib && ( $_->status == 0 || $_->status == 7 ) } @good_copies ], + $hold + ); + $all_copies = [ grep { ''.$_->circ_lib ne $pu_lib && ( $_->status == 0 || $_->status == 7 ) } @good_copies ]; my $min_prox = [ sort keys %$prox_list ]->[0]; my $best; @@ -1589,11 +1594,6 @@ sub new_hold_copy_targeter { $best = choose_nearest_copy($hold, { $min_prox => delete($$prox_list{$min_prox}) }); } - $all_copies = []; - for my $prox (keys %$prox_list) { - push @$all_copies, @{$$prox_list{$prox}}; - } - $client->status( new OpenSRF::DomainObject::oilsContinueStatus ); if (!$best) { -- 2.11.0