Check if hold is really available in Trigger::Validator. user/jason@mvlc.org/HoldIsReallyAvailable
authorJason Stephenson <jstephenson@mvlc.org>
Wed, 22 Jun 2011 14:48:58 +0000 (10:48 -0400)
committerJason Stephenson <jstephenson@mvlc.org>
Wed, 22 Jun 2011 14:48:58 +0000 (10:48 -0400)
Add checks for shelf time and no fulfillment time in
HoldIsAvailable in OpenILS::Application::Trigger::Validator.

We've had some issues with poorly migrated data and people
messing with holds that causes the original logic to trigger
for unfilled holds. Plus, the extra precaution of checking
more precise conditions of an actually filled hold can't hurt,
can it?

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Validator.pm

index 260af53..98e18cc 100644 (file)
@@ -77,6 +77,8 @@ sub HoldIsAvailable {
         !$hold->cancel_time and
         $hold->capture_time and 
         $hold->current_copy and
+        $hold->shelf_time and
+        !$hold->fulfillment_time and
         $hold->current_copy->status == OILS_COPY_STATUS_ON_HOLDS_SHELF;
 
     return 0;