Clear hold shelf/shelf_expire time for pickup lib change user/berick/hold-clear-shelf-time-pickup-lib-change
authorBill Erickson <berick@esilibrary.com>
Tue, 13 Dec 2011 19:32:45 +0000 (14:32 -0500)
committerBill Erickson <berick@esilibrary.com>
Tue, 13 Dec 2011 19:32:45 +0000 (14:32 -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>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm

index 4b7737c..bdb7d71 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;
         }
     }