From 49fb1c0ae86bb888485385294466d312d069c8dc Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Sun, 28 Apr 2019 20:55:02 -0400 Subject: [PATCH] Bug 21027: Fix checkout statistics if 1+ of the fields is not defined TEST - Use a patron who hasn't checked out items before - Set StatisticsFields to itype|ccode - Check out some items without location - Verify that statistics stable shows the correct number of checkouts - Check out one item with a location or just change one of your checked out items - Verify the total is still correct - Change StatisticsFields to location|itype|ccode - Verify the total has changed now - it's only 1 (the one with a location) Apply the patch and try again Signed-off-by: Chris Cormack Signed-off-by: Katrin Fischer Signed-off-by: Martin Renvoize (cherry picked from commit 17a71b990076efd04c15de6b3165c33fffe037a3) Signed-off-by: Fridolin Somers --- members/statistics.pl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/members/statistics.pl b/members/statistics.pl index 61c42f9c34..ba453453c6 100755 --- a/members/statistics.pl +++ b/members/statistics.pl @@ -198,7 +198,10 @@ sub merge { for my $ch ( @r ) { $exists = 1; for my $cn ( @statistic_column_names ) { - if ( $ch->{$cn} and not $ch->{$cn} eq $h->{$cn} ) { + if ( ( not defined $ch->{$cn} && defined $h->{$cn} ) + || ( defined $ch->{$cn} && not defined $h->{$cn} ) + || ( $ch->{$cn} ne $h->{$cn} ) ) + { $exists = 0; last; } -- 2.39.5