From 4caa0b50f5b79025099f5b7ea9cccbe71d1b9495 Mon Sep 17 00:00:00 2001
From: Nick Clemens <nick@bywatersolutions.com>
Date: Fri, 21 Feb 2020 12:28:30 +0000
Subject: [PATCH] Bug 24629: SIP patron items contains an array of hashes

$patron->{items} contains the borrowers checkouts as an array of hashes
{ barcode => $item->barcode }

When printing to log we assumed these were only barcodes

This patch pushes the current checkout as a hash and maps the values retrieved to a string

To test:
1 - Enable SIP debug mode
2 - Perform multiple checkouts for a patron
3 - Note the messages like:
    koha koha_sip_koha[13575]: ILS::Checkout: patron 123 has checked out HASH(0x55a5b187f858), HASH(0x55a5b1896ad0), HASH(0x55a5b18a6cf0), 7826832
4 - Apply patch
5 - Restart all the things
6 - Do some checkouts via SIP
6 - Messages should now have barcodes

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
---
 C4/SIP/ILS.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/C4/SIP/ILS.pm b/C4/SIP/ILS.pm
index b543539dd0..9e7805544c 100644
--- a/C4/SIP/ILS.pm
+++ b/C4/SIP/ILS.pm
@@ -164,12 +164,12 @@ sub checkout {
 
             $item->{patron}   = $patron_id;
             $item->{due_date} = $circ->{due};
-            push( @{ $patron->{items} }, $item_id );
+            push( @{ $patron->{items} }, { barcode => $item_id } );
             $circ->desensitize( !$item->magnetic_media );
 
             syslog(
                 "LOG_DEBUG", "ILS::Checkout: patron %s has checked out %s",
-                $patron_id, join( ', ', @{ $patron->{items} } )
+                $patron_id, join( ', ', map{ $_->{barcode} } @{ $patron->{items} } )
             );
         }
         else {
-- 
2.20.1