From: Moritz Bunkus Date: Mon, 18 Jun 2007 14:47:05 +0000 (+0000) Subject: Buchungsliste: X-Git-Tag: release-2.4.3^2~102 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=0a25d5a4019fabab620cae0ff7a0a713d132d2fa;p=kivitendo-erp.git Buchungsliste: 1. $form->{sort} nicht ohne Überprüfung in einem SQL-Query benutzen. 2. Nur dann mehrere Zeilen zusammenfassen, wenn auch ihre ID übereinstimmen (was vermutlich nie der Fall sein wird, aber anders ist es schlicht falsch, weil dann Buchungen zusammengefasst werden können, die zu unterschiedlichen Belegen gehören). --- diff --git a/SL/CA.pm b/SL/CA.pm index b4680ad7a..76d2b320a 100644 --- a/SL/CA.pm +++ b/SL/CA.pm @@ -347,7 +347,9 @@ sub all_transactions { $union = qq|UNION ALL|; } - $query .= qq|ORDER BY | . $form->{sort}; + my $sort = grep({ $form->{sort} eq $_ } qw(transdate reference description)) ? $form->{sort} : 'transdate'; + + $query .= qq|ORDER BY $sort|; $sth = prepare_execute_query($form, $dbh, $query, @values); $form->{CA} = []; @@ -370,7 +372,7 @@ sub all_transactions { $ca->{debit} = 0; } - $ca->{index} = $ca->{reference}.$ca->{description}; + $ca->{index} = join "--", map { $ca->{$_} } qw(id reference description); push(@{ $form->{CA} }, $ca);