From 094451ce5580b975b0a9457c6634cf2a025c20eb Mon Sep 17 00:00:00 2001 From: Benjamin Rokseth Date: Tue, 1 Apr 2014 14:07:59 +0200 Subject: [PATCH] Bug 12021 - SIP2 checkin should alert on transfer and use CT for return branch Content-Type: text/plain; charset=utf-8 This small patch corrects the SIP2 checkin response if branch transfer is needed. It depends on bug 7981 and also removes an obsolete alert check in SIP2. Test plan: - 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' Signed-off-by: Kyle M Hall --- C4/SIP/ILS/Transaction/Checkin.pm | 6 +++--- C4/SIP/Sip/MsgType.pm | 8 -------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/C4/SIP/ILS/Transaction/Checkin.pm b/C4/SIP/ILS/Transaction/Checkin.pm index bc1c433..4d22eb1 100644 --- a/C4/SIP/ILS/Transaction/Checkin.pm +++ b/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 diff --git a/C4/SIP/Sip/MsgType.pm b/C4/SIP/Sip/MsgType.pm index 4e406e2..6dde43e 100644 --- a/C4/SIP/Sip/MsgType.pm +++ b/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 ); -- 2.1.4