fixed bug which caused a sensless transit (dest=source) in the case where a copy
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 25 Oct 2006 14:54:26 +0000 (14:54 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 25 Oct 2006 14:54:26 +0000 (14:54 +0000)
was supposed to be on another lib's hold shelf.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@6506 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm

index 54e8d12..f77b6bb 100644 (file)
@@ -1351,8 +1351,8 @@ sub do_checkin {
       } else {
 
                        my $bc = $self->copy->barcode;
-                       $logger->info("circulator: copy $bc at a remote lib  - sending home");
-                       $self->checkin_build_copy_transit();
+                       $logger->info("circulator: copy $bc at the wrong location, sending to $circ_lib");
+                       $self->checkin_build_copy_transit($circ_lib);
                        return if $self->bail_out;
                        $self->push_events(OpenILS::Event->new('ROUTE_ITEM', org => $circ_lib));
       }
@@ -1466,11 +1466,15 @@ sub checkin_handle_precat {
 
 sub checkin_build_copy_transit {
        my $self                        = shift;
+       my $dest                        = shift;
        my $copy       = $self->copy;
    my $transit    = Fieldmapper::action::transit_copy->new;
 
+       #$dest  ||= (ref($copy->circ_lib)) ? $copy->circ_lib->id : $copy->circ_lib;
+       $logger->info("circulator: transiting copy to $dest");
+
    $transit->source($self->editor->requestor->ws_ou);
-   $transit->dest( (ref($copy->circ_lib)) ? $copy->circ_lib->id : $copy->circ_lib );
+   $transit->dest($dest);
    $transit->target_copy($copy->id);
    $transit->source_send_time('now');
    $transit->copy_status( $U->copy_status($copy->status)->id );