Add check for hold in AcceptItem
authorJeff Godin <jgodin@tadl.org>
Fri, 11 Oct 2013 13:46:11 +0000 (09:46 -0400)
committerJeff Godin <jgodin@tadl.org>
Tue, 5 Nov 2013 14:26:37 +0000 (09:26 -0500)
Add a check in AcceptItem message handling to ensure that a hold was
found before trying to check the item in to capture for that hold.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
iNCIPit.cgi

index b1854a2..7086825 100644 (file)
@@ -318,9 +318,13 @@ sub accept_item {
     my $r2 = update_copy( $copy, $conf->{status}->{hold} ); # put into INN-Reach Hold status
     # We need to find the hold to know the pickup location
     my $hold = find_hold_on_copy($visid);
-    # Check the copy in to capture for hold -- do it at the pickup_lib
-    # so that the hold becomes Available
-    my $checkin_result = checkin_accept($copy->id, $hold->pickup_lib);
+    if (defined $hold && blessed($hold)) {
+        # Check the copy in to capture for hold -- do it at the pickup_lib
+        # so that the hold becomes Available
+        my $checkin_result = checkin_accept($copy->id, $hold->pickup_lib);
+    } else {
+        fail( "accept_item: no hold found for visid " . $visid );
+    }
 
     my $hd = <<ACCEPTITEM;
 Content-type: text/xml