Check if hold is really available in Trigger::Validator.
authorJason Stephenson <jstephenson@mvlc.org>
Wed, 22 Jun 2011 14:48:58 +0000 (10:48 -0400)
committerMike Rylander <mrylander@gmail.com>
Wed, 22 Jun 2011 19:36:59 +0000 (15:36 -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>
Signed-off-by: Mike Rylander <mrylander@gmail.com>

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;