Remove force-to-available code from check_in_item
authorDan Wells <dbw2@calvin.edu>
Tue, 12 Mar 2013 15:12:14 +0000 (11:12 -0400)
committerDan Wells <dbw2@calvin.edu>
Tue, 12 Mar 2013 15:12:14 +0000 (11:12 -0400)
check_in_item() currently tries to force the checked-in copy to the
"Available" status.  This seems unnecessary, and possibly damaging.

Instead, let the EG check in process set the status as it sees fit
(most often to "Reshelving").

Signed-off-by: Dan Wells <dbw2@calvin.edu>
iNCIPit.cgi

index 4872e81..f945db3 100644 (file)
@@ -570,10 +570,12 @@ sub check_in_item {
     my $taidValue  = $doc->find('/NCIPMessage/CheckInItem/InitiationHeader/ToAgencyId/UniqueAgencyId/Value');
 
     my $barcode = $doc->findvalue('/NCIPMessage/CheckInItem/UniqueItemId/ItemIdentifierValue');
-    my $r    = checkin($barcode);
-    my $copy = copy_from_barcode($barcode);
-    fail( $copy->{textcode} . " $barcode" ) unless ( blessed $copy);
-    my $r2 = update_copy( $copy, 0 );    # Available now
+    my $r = checkin($barcode);
+    fail($r) if $r =~ /^COPY_NOT_CHECKED_OUT/;
+    # TODO: do we need to do these next steps?  checkin() should handle everything, and we want this to end up in 'reshelving'.  If we are worried about transits, we should handle (abort) them, not just change the status
+    ##my $copy = copy_from_barcode($barcode);
+    ##fail($copy->{textcode}." $barcode") unless (blessed $copy);
+    ##         my $r2 = update_copy($copy,0); # Available now 
 
     my $hd = <<CHECKINITEM;
 Content-type: text/xml