From 7f0a2496f465f77c243e8e4902da17df4b66b3e6 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 11 Dec 2019 11:33:51 +0000 Subject: [PATCH] Bug 24215: Correct display of guarantor relationship errors Test plan: 1) Add some bad data to your borrower_relationships table. ( add or update a relationship such that the 'relationship' field contains a value not listed in the corresponding system preference. 2) Go to the about system information page and note the nasty display of ARRAY(whatever) 3) Apply the patch 4) Repeat step 2 and note that a list of bad values is now displayed instead. --- about.pl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/about.pl b/about.pl index 14be586170..b9c5c5fe2d 100755 --- a/about.pl +++ b/about.pl @@ -474,7 +474,7 @@ $template->param( 'bad_yaml_prefs' => \@bad_yaml_prefs ) if @bad_yaml_prefs; $bad_relationships_count = $bad_relationships_count->[0]->[0]; - my @existing_relationships = $dbh->selectall_arrayref(q{ + my $existing_relationships = $dbh->selectall_arrayref(q{ SELECT DISTINCT(relationship) FROM ( SELECT relationship FROM borrower_relationships WHERE relationship IS NOT NULL @@ -485,17 +485,16 @@ $template->param( 'bad_yaml_prefs' => \@bad_yaml_prefs ) if @bad_yaml_prefs; my %valid_relationships = map { $_ => 1 } split( /,|\|/, C4::Context->preference('borrowerRelationship') ); $valid_relationships{ _bad_data } = 1; # we handle this case in another way - my @wrong_relationships = grep { !$valid_relationships{ $_->[0] } } @existing_relationships; - - if ( @wrong_relationships or $bad_relationships_count ) { + my $wrong_relationships = [ grep { !$valid_relationships{ $_->[0] } } @{$existing_relationships} ]; + if ( $wrong_relationships or $bad_relationships_count ) { $template->param( warnRelationships => 1, ); - if ( @wrong_relationships ) { + if ( $wrong_relationships ) { $template->param( - wrong_relationships => \@wrong_relationships + wrong_relationships => $wrong_relationships ); } if ($bad_relationships_count) { -- 2.20.1