From: Mike Rylander Date: Wed, 13 Jun 2012 13:37:54 +0000 (-0400) Subject: Allow copy-ish holds to target, even for part-copies, if they somehow slip through... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fmiker%2FC-holds-on-parts;p=working%2FEvergreen.git Allow copy-ish holds to target, even for part-copies, if they somehow slip through the UI pre-checks Signed-off-by: Mike Rylander --- 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 7c07e6f188..5457d45467 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 @@ -1245,17 +1245,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 );