@@ -, +, @@ for return branch - apply bug 7981 - make sure syspref AutomaticItemReturn is false - check 'Return policy' in 'Default checkout, hold and return policy' - make a SIP2 checkout and checkin from a branch different than item's home branch. - verify that SIP2 response gives alert CV04 (=send to different branch) - also verify that response field CT gives correct branch according to 'Return policy' --- C4/SIP/ILS/Transaction/Checkin.pm | 6 +++--- C4/SIP/Sip/MsgType.pm | 8 -------- 2 files changed, 3 insertions(+), 11 deletions(-) --- a/C4/SIP/ILS/Transaction/Checkin.pm +++ a/C4/SIP/ILS/Transaction/Checkin.pm @@ -80,15 +80,15 @@ sub do_checkin { $self->alert_type('99'); } if ($messages->{Wrongbranch}) { - $self->destination_loc($messages->{Wrongbranch}->{Rightbranch}); + $self->{item}->destination_loc($messages->{Wrongbranch}->{Rightbranch}); $self->alert_type('04'); # send to other branch } if ($messages->{WrongTransfer}) { - $self->destination_loc($messages->{WrongTransfer}); + $self->{item}->destination_loc($messages->{WrongTransfer}); $self->alert_type('04'); # send to other branch } if ($messages->{NeedsTransfer}) { - $self->destination_loc($iteminformation->{homebranch}); + $self->{item}->destination_loc($messages->{NeedsTransfer}); $self->alert_type('04'); # send to other branch } if ($messages->{WasTransfered}) { # set into transit so tell unit --- a/C4/SIP/Sip/MsgType.pm +++ a/C4/SIP/Sip/MsgType.pm @@ -649,14 +649,6 @@ sub handle_checkin { $resp .= 'U'; } - # apparently we can't trust the returns from Checkin yet (because C4::Circulation::AddReturn is faulty) - # So we reproduce the alert logic here. - if ( not $status->alert ) { - if ( $item->destination_loc and $item->destination_loc ne $my_branch ) { - $status->alert(1); - $status->alert_type('04'); # no hold, just send it - } - } $resp .= $status->alert ? 'Y' : 'N'; $resp .= timestamp; $resp .= add_field( FID_INST_ID, $inst_id ); --