Bug 3638 : Captured Holds may need to generate a transfer
[koha_fer] / C4 / SIP / ILS / Transaction / Checkin.pm
index a705f57..47bd85d 100644 (file)
@@ -14,6 +14,7 @@ use ILS::Transaction;
 
 use C4::Circulation;
 use C4::Reserves qw( ModReserveAffect );
+use C4::Items qw( ModItemTransfer );
 use C4::Debug;
 
 our @ISA = qw(ILS::Transaction);
@@ -45,7 +46,10 @@ sub new {
 
 sub do_checkin {
     my $self = shift;
-    my $branch = @_ ? shift : 'SIP2' ;
+    my $branch = shift;
+    if (!$branch) {
+        $branch = 'SIP2';
+    }
     my $barcode = $self->{item}->id;
     $debug and warn "do_checkin() calling AddReturn($barcode, $branch)";
     my ($return, $messages, $iteminformation, $borrower) = AddReturn($barcode, $branch);
@@ -85,6 +89,10 @@ sub do_checkin {
             $self->alert_type('02');
             ModReserveAffect( $messages->{ResFound}->{itemnumber},
                 $messages->{ResFound}->{borrowernumber}, 1);
+            ModItemTransfer( $messages->{ResFound}->{itemnumber},
+                $branch,
+                $messages->{ResFound}->{branchcode}
+            );
 
         }
         $self->{item}->hold_patron_id( $messages->{ResFound}->{borrowernumber} );