From 743eead9fdce5516f85cb38ad00248907971756c Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 11 Nov 2019 17:54:56 +0100 Subject: [PATCH] Bug 23900: Teach label maker to concat database fields Test plan: - define a label layout with this field list: "100a 245s","enumchron copynumber" - find or create a record with values for all of those fields - generate a label for that record - the 100a and 245s successfully display on one line - the enumchron and copynumber are displayed and separated by a space Try other combinations Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Kyle M Hall Signed-off-by: Martin Renvoize --- C4/Labels/Label.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/C4/Labels/Label.pm b/C4/Labels/Label.pm index 0a1d0a0e53..0fafd7d9d3 100644 --- a/C4/Labels/Label.pm +++ b/C4/Labels/Label.pm @@ -148,11 +148,16 @@ sub _get_barcode_data { next FIELD_LIST; } elsif ( $f =~ /^($match_kohatable).*/ ) { - if ($item->{$f}) { - $datastring .= $item->{$f}; - } else { - $debug and warn sprintf("The '%s' field contains no data.", $f); + my @fields = split ' ', $f; + my @data; + for my $field ( @fields ) { + if ($item->{$field}) { + push @data, $item->{$field}; + } else { + $debug and warn sprintf("The '%s' field contains no data.", $field); + } } + $datastring .= join ' ', @data; $f = $'; next FIELD_LIST; } -- 2.39.5