From c128e561095425d7ec7977afb5993bfbf8ad2fe8 Mon Sep 17 00:00:00 2001
From: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
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
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
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 <kyle@bywatersolutions.com>
Followed test plan, works as expected
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
---
C4/SIP/ILS/Transaction/Checkin.pm | 8 ++++----
C4/SIP/Sip/MsgType.pm | 8 --------
2 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/C4/SIP/ILS/Transaction/Checkin.pm b/C4/SIP/ILS/Transaction/Checkin.pm
index ad04a88..19c82e9 100644
--- a/C4/SIP/ILS/Transaction/Checkin.pm
+++ b/C4/SIP/ILS/Transaction/Checkin.pm
@@ -80,19 +80,19 @@ 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
- $self->destination_loc($iteminformation->{homebranch});
+ $self->{item}->destination_loc($iteminformation->{homebranch});
$self->alert_type('04'); # send to other branch
}
if ($messages->{ResFound}) {
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