From aeca6408210451cd4edf547d0420710ef8b4db60 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 21 May 2019 11:12:44 +1000 Subject: [PATCH] Bug 15221 - SIP server always sets the alert flag when item not returned The checked in response from the ACS always has the alert bit set to true, even when using the checked_in_ok option. This patch sets the alert bit to 0 when checked_in_ok is used and the item is checked in without a preceding checkout. To test: 0) Create patron in web interface with a cardnumber and userid of "staff" with a password that matches the account in SIPconfig.xml. Also set their branch to CPL (also matching SIPconfig.xml). 1) Create an item with a barcode of 'test' 2) Choose a patron to check out to and record their borrowernumber In one terminal: 3) cd to your git directory (e.g. /home/koha/koha) 4) perl ./C4/SIP/SIPServer.pm ~/koha-dev/etc/SIPconfig.xml In another terminal: 5) cd to your git directory (e.g. /home/koha/koha) 6) perl ./misc/sip_cli_emulator.pl -l CPL -su staff -sp --port=6001 --address=localhost --item test -m checkin --patron NOTE: You need to replace with the borrowernumber from Step 2, and with the password from Step 0. Before patch: koha@9ec653ab82ce:~/koha$ perl ./misc/sip_cli_emulator.pl -l CPL -su staff -sp --port=6001 --address=localhost --item test -m checkin --patron Attempting socket connection to localhost:6001...connected! SEND: 9300CNstaff|COStaff1|CPCPL| READ: 941 Trying 'checkin' SEND: 09N20190521 00310320190521 003103APCPL|AOCPL|ABtest|AC|BIN| READ: 101YNY20190521 003106AOCPL|ABtest|AQCPL|AJTest| After patch: koha@9ec653ab82ce:~/koha$ perl ./misc/sip_cli_emulator.pl -l CPL -su staff -sp --port=6001 --address=localhost --item test -m checkin --patron Attempting socket connection to localhost:6001...connected! SEND: 9300CNstaff|CO|CPCPL| READ: 941 Trying 'checkin' SEND: 09N20190521 01000020190521 010000APCPL|AOCPL|ABtest|AC|BIN| READ: 101YNN20190521 010004AOCPL|ABtest|AQCPL|AJTest| --- C4/SIP/ILS.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/C4/SIP/ILS.pm b/C4/SIP/ILS.pm index aeaa0d2bec..e6f3794c97 100644 --- a/C4/SIP/ILS.pm +++ b/C4/SIP/ILS.pm @@ -229,6 +229,7 @@ sub checkin { } elsif ( !$item->{patron} ) { if ( $checked_in_ok ) { # Mark checkin ok although book not checked out $circ->ok( 1 ); + $circ->alert( 0 ); syslog("LOG_DEBUG", "C4::SIP::ILS::Checkin - using checked_in_ok"); } else { $circ->screen_msg("Item not checked out"); -- 2.16.4