BUG 125 solved. (Dank an Hartmut Goebel)
authorUdo Spallek <info@wissensvermittlung.com>
Thu, 5 Jan 2006 23:17:36 +0000 (23:17 +0000)
committerUdo Spallek <info@wissensvermittlung.com>
Thu, 5 Jan 2006 23:17:36 +0000 (23:17 +0000)
SL/GL.pm

index a080b85..11cbe36 100644 (file)
--- a/SL/GL.pm
+++ b/SL/GL.pm
@@ -342,6 +342,17 @@ sub all_transactions {
 
   my $false = ($myconfig->{dbdriver} eq 'Pg') ? FALSE: q|'0'|;
 
+     my $sortorder = join ', ', $form->sort_columns(qw(transdate reference source description accno));
+     my %ordinal = ( transdate => 6,
+                     reference => 4,
+                     source => 7,
+                 description => 5 );
+     map { $sortorder =~ s/$_/$ordinal{$_}/ } keys %ordinal;
+   
+     if ($form->{sort}) {
+         $sortorder = $form->{sort} . ',' . $sortorder;
+     }
+  
   my $query =
     qq|SELECT g.id, 'gl' AS type, $false AS invoice, g.reference, ac.taxkey, t.taxkey AS sorttax,
                  g.description, ac.transdate, ac.source, ac.trans_id,
@@ -371,7 +382,7 @@ sub all_transactions {
                 AND ac.chart_id = c.id
                 AND a.vendor_id = ct.id
                 AND a.id = ac.trans_id
-                ORDER BY transdate, trans_id, taxkey DESC, sorttax DESC, oid|;
+                ORDER BY $sortorder, oid|;
   my $sth = $dbh->prepare($query);
   $sth->execute || $form->dberror($query);
   my $trans_id = "";