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/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/0a25d5a4019fabab620cae0ff7a0a713d132d2fa 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);