Clear hold shelf/shelf_expire time for pickup lib change
authorBill Erickson <berick@esilibrary.com>
Tue, 13 Dec 2011 19:32:45 +0000 (14:32 -0500)
committerThomas Berezansky <tsbere@mvlc.org>
Wed, 14 Dec 2011 19:50:51 +0000 (14:50 -0500)
If a hold is on the holds shelf and the pickup library changes, clear
the shelf_time and shelf_expire_time, since the hold is now in transit.

This is particularly important for avoiding action_trigger events for
the "hold_request.shelf_expires_soon" hook for what is now an
in-transit item.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm

index 9e33de5..0a6bdfc 100644 (file)
@@ -961,6 +961,10 @@ sub update_hold_impl {
             # create the new transit
             my $evt = transit_hold($e, $orig_hold, $hold, $e->retrieve_asset_copy($hold->current_copy));
             return $evt if $evt;
+
+            # hold is leaving the shelf  
+            $hold->clear_shelf_time;
+            $hold->clear_shelf_expire_time;
         }
     }