From d64bc013ef926948e78d42bbe2614bb7d26997d2 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 2 Jan 2024 12:59:39 -0500 Subject: [PATCH] Bug 35461: Fix function call parameters causing the HASH to show in the renew all responses "Renew All" -function aka. 65-66-messages work like this: 66-return messages has renewed items in BM-fields and non-renewables go into BN-fields. If all items were renewable, then the reply message looks like: Reply: 13.07.2022 10:06:17:530 OUTESTI1 6610005000020220713 100616AOOUPK|BM564N15977171|BM564N09203960|BM564N23261720|BM564N25161958|BM564N23455012|C4::SIP::SIPServer=HASHC4::SIP::SIPServer=HASHAY6AZCEFE If items include renewables and non-renewables, the response includes the renewed items first, then a HASH mixed into the first BN-field, then rest of the renewed ones like they should show in BN-fields and after that, anohter HASH: 13.07.2022 14:41:32:610 OUTESTI1 6610003000420220713 144130AOOUPK|BM564N23455012|BM564N23261720|BM564N25161958|C4::SIP::SIPServer=HASHBN564N09203960|BN564N04191259|BN564N15977171|BN564N13788332|C4::SIP::SIPServer=HASHAY8AZC7C5 If all loans were unrenewable (this test included just one item), you first get a HASH in a BN-field, and another at the end. 13.07.2022 14:49:00:037 OUTESTI1 6610000000120220713 144858AOOUPK|C4::SIP::SIPServer=HASHBN564N19874533|C4::SIP::SIPServer=HASHAY9AZDD3B Our self checkout/checkin machine can handle/parse these reply messages correctly, but this might not be the case with all self checkout/checkin devices. Test Plan: 1) Unit test patch 2) prove t/db_dependent/SIP/Message.t 3) Note failures 4) Apply this patch 5) prove t/db_dependent/SIP/Message.t 6) Tests pass! Signed-off-by: Kyle M Hall --- C4/SIP/Sip/MsgType.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/C4/SIP/Sip/MsgType.pm b/C4/SIP/Sip/MsgType.pm index d8c49cddcff..a5d7931d72a 100644 --- a/C4/SIP/Sip/MsgType.pm +++ b/C4/SIP/Sip/MsgType.pm @@ -1602,8 +1602,8 @@ sub handle_renew_all { $resp .= timestamp; $resp .= add_field( FID_INST_ID, $ils->institution, $server ); - $resp .= join( '', map( add_field( FID_RENEWED_ITEMS, $_ ), @renewed ), $server ); - $resp .= join( '', map( add_field( FID_UNRENEWED_ITEMS, $_ ), @unrenewed ), $server ); + $resp .= join( '', map( add_field( FID_RENEWED_ITEMS, $_, $server ), @renewed ) ); + $resp .= join( '', map( add_field( FID_UNRENEWED_ITEMS, $_, $server ), @unrenewed ) ); $resp .= maybe_add( FID_SCREEN_MSG, $status->screen_msg, $server ); $resp .= maybe_add( FID_PRINT_LINE, $status->print_line, $server ); -- 2.30.2