From 930c3729d62983e068656a3ef1c0ef352cabe750 Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Wed, 13 Jun 2012 09:37:54 -0400 Subject: [PATCH] Allow copy-ish holds to target, even for part-copies, if they somehow slip through the UI pre-checks Signed-off-by: Mike Rylander Signed-off-by: Thomas Berezansky Signed-off-by: Ben Shum --- .../Application/Storage/Publisher/action.pm | 23 ++++++++++--------- 1 files changed, 12 insertions(+), 11 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 d80fbaf..640525c 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 @@ -1260,17 +1260,18 @@ sub new_hold_copy_targeter { push @$all_copies, $_cp if $_cp; } - # Force and recall holds bypass pretty much everything - if ($hold->hold_type ne 'R' && $hold->hold_type ne 'F') { - # trim unholdables - @$all_copies = grep { isTrue($_->status->holdable) && - isTrue($_->location->holdable) && - isTrue($_->holdable) && - !isTrue($_->deleted) && - (isTrue($hold->mint_condition) ? isTrue($_->mint_condition) : 1) && - ($hold->hold_type ne 'P' ? $_->part_maps->count == 0 : 1) - } @$all_copies; - } + # Force and recall holds bypass pretty much everything + if ($hold->hold_type ne 'R' && $hold->hold_type ne 'F') { + # trim unholdables + @$all_copies = grep { isTrue($_->status->holdable) && + isTrue($_->location->holdable) && + isTrue($_->holdable) && + !isTrue($_->deleted) && + (isTrue($hold->mint_condition) ? isTrue($_->mint_condition) : 1) && + ( ($hold->hold_type ne 'C' && $hold->hold_type ne 'I') ? # Copy-ish holds can target if they slipped through + ($hold->hold_type ne 'P' ? $_->part_maps->count == 0 : 1) : 1 ) + } @$all_copies; + } # let 'em know we're still working $client->status( new OpenSRF::DomainObject::oilsContinueStatus ); -- 1.7.2.5