From: Bill Erickson <berick@esilibrary.com>
Date: Tue, 13 Dec 2011 19:32:45 +0000 (-0500)
Subject: Clear hold shelf/shelf_expire time for pickup lib change
X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=fb2229781b11f34508713a6cd36162aa85654b93;p=evergreen%2Fmasslnc.git

Clear hold shelf/shelf_expire time for pickup lib change

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>
---

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
index 9e33de511d..0a6bdfc4ce 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
@@ -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;
         }
     }