]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Buchungsliste:
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 18 Jun 2007 14:47:05 +0000 (14:47 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 18 Jun 2007 14:47:05 +0000 (14:47 +0000)
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).

SL/CA.pm

index b4680ad7adc04b77fa1ab3d031d78c88696e2b92..76d2b320a5580cb202d3f9beb4be9ee2a27d411a 100644 (file)
--- 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);