Bug 24305: (QA follow-up) Strip table name in [[table.field|alias]]

When you would use the construct, you wont have batch features unless
we strip the table name. This is consistent with the $sth->{NAME} used
to fill the headers by default.

Test plan:
Use [[items.biblionumber|bibno]] instead of items.biblionumber in a
reporting query.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Marcel de Rooy 2020-01-24 11:17:15 +00:00 committed by Martin Renvoize
parent c3e96a900b
commit dc419ab2a9
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F

View file

@ -1091,6 +1091,7 @@ sub get_prepped_report {
for(my $i=0;$i<$#split/2;$i++){ #The placeholders are always the odd elements of the array
my ($type,$name) = split /\|/,$split[$i*2+1]; # We split them on '|'
$headers->{$name} = $type; # Store as a lookup for the template
$headers->{$name} =~ s/^\w*\.//; # strip the table name just as in $sth->{NAME} array
$split[$i*2+1] =~ s/(\||\?|\.|\*|\(|\)|\%)/\\$1/g; #Quote any special characters so we can replace the placeholders
$name = C4::Context->dbh->quote($name);
$sql =~ s/\[\[$split[$i*2+1]\]\]/$type AS $name/; # Remove placeholders from SQL