Beim PDF- und CSV-Export der verschiedenen Berichte die vorherige Sortierreihenfolge...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 5 May 2009 09:22:05 +0000 (09:22 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 5 May 2009 09:22:05 +0000 (09:22 +0000)
Fix für Bug 845.

16 files changed:
SL/WH.pm
bin/mozilla/ap.pl
bin/mozilla/ar.pl
bin/mozilla/ct.pl
bin/mozilla/dn.pl
bin/mozilla/do.pl
bin/mozilla/fu.pl
bin/mozilla/gl.pl
bin/mozilla/oe.pl
bin/mozilla/projects.pl
bin/mozilla/rp.pl
bin/mozilla/wh.pl
locale/de/all
locale/de/ap
locale/de/datev
locale/de/wh

index 70bf7db..59fdfc5 100644 (file)
--- a/SL/WH.pm
+++ b/SL/WH.pm
@@ -301,11 +301,14 @@ sub get_warehouse_journal {
   $filter{na} = '-' unless $filter{na};
 
   # make order, search in $filter and $form
-  $form->{sort}   = $filter{sort}             unless $form->{sort};
-  $form->{order}  = ($form->{sort} = 'itime') unless $form->{sort};
-  $form->{sort}   = 'itime'                   if     $form->{sort} eq "date";
-  $form->{order}  = $filter{order}            unless $form->{order};
-  $form->{sort}  .= (($form->{order}) ? " DESC" : " ASC");
+  my $sort_col   = $form->{sort};
+  my $sort_order = $form->{order};
+
+  $sort_col      = $filter{sort}         unless $sort_col;
+  $sort_order    = ($sort_col = 'itime') unless $sort_col;
+  $sort_col      = 'itime'               if     $sort_col eq 'date';
+  $sort_order    = $filter{order}        unless $sort_order;
+  my $sort_spec  = "${sort_col} " . ($sort_order ? " DESC" : " ASC");
 
   my $where_clause = join(" AND ", @filter_ary) . " AND " if (@filter_ary);
 
@@ -400,7 +403,7 @@ sub get_warehouse_journal {
     WHERE $where_clause i1.qty > 0 AND
           i1.trans_id IN ( SELECT i.trans_id FROM inventory i GROUP BY i.trans_id HAVING COUNT(i.trans_id) = 1 )
     GROUP BY $group_clause
-    ORDER BY r_$form->{sort}|;
+    ORDER BY r_${sort_spec}|;
 
   my $sth = prepare_execute_query($form, $dbh, $query, @filter_vars, @filter_vars, @filter_vars);
 
@@ -521,12 +524,15 @@ sub get_warehouse_report {
   map { $form->{"l_${_}id"} = "Y" if ($form->{"l_${_}description"} || $form->{"l_${_}number"}); } qw(warehouse bin);
 
   # make order, search in $filter and $form
-  $form->{sort}  =  $filter{sort}  unless $form->{sort};
-  $form->{sort}  =  "parts_id"     unless $form->{sort};
-  $form->{order} =  $filter{order} unless $form->{order};
-  $form->{sort}  =~ s/ASC|DESC//; # kill stuff left in from previous queries
-  my $orderby    =  $form->{sort};
-  $form->{sort} .=  (($form->{order}) ? " DESC" : " ASC");
+  my $sort_col    =  $form->{sort};
+  my $sort_order  = $form->{order};
+
+  $sort_col       =  $filter{sort}  unless $sort_col;
+  $sort_col       =  "parts_id"     unless $sort_col;
+  $sort_order     =  $filter{order} unless $sort_order;
+  $sort_col       =~ s/ASC|DESC//; # kill stuff left in from previous queries
+  my $orderby     =  $sort_col;
+  my $sort_spec   =  "${sort_col} " . ($sort_order ? " DESC" : " ASC");
 
   my $where_clause = join " AND ", ("1=1", @filter_ary);
 
@@ -571,7 +577,7 @@ sub get_warehouse_report {
       $joins
       WHERE $where_clause
       GROUP BY $group_clause $group_by
-      ORDER BY $form->{sort}|;
+      ORDER BY $sort_spec|;
 
   my $sth = prepare_execute_query($form, $dbh, $query, @filter_vars);
 
index 070748b..884933b 100644 (file)
@@ -1420,7 +1420,7 @@ sub ap_transactions {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('ap_transactions', @hidden_variables);
+  $report->set_export_options('ap_transactions', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});
 
@@ -1440,7 +1440,7 @@ sub ap_transactions {
                        'raw_bottom_info_text' => $form->parse_html_template('ap/ap_transactions_bottom'),
                        'output_format'        => 'HTML',
                        'title'                => $form->{title},
-                       'attachment_basename'  => $locale->text('invoice_list') . strftime('_%Y%m%d', localtime time),
+                       'attachment_basename'  => $locale->text('vendor_invoice_list') . strftime('_%Y%m%d', localtime time),
     );
   $report->set_options_from_form();
 
index b8aa128..43d324b 100644 (file)
@@ -1507,7 +1507,7 @@ sub ar_transactions {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('ar_transactions', @hidden_variables);
+  $report->set_export_options('ar_transactions', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});
 
index 75c10a3..02ac29e 100644 (file)
@@ -206,7 +206,7 @@ sub list_names {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('list_names', @hidden_variables);
+  $report->set_export_options('list_names', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});
 
index 07830aa..f9485c5 100644 (file)
@@ -310,7 +310,7 @@ sub show_dunning {
 
   $report->set_options('std_column_visibility' => 1,
                        'title'                 => $form->{title});
-  $report->set_export_options('show_dunning', @filter_field_list);
+  $report->set_export_options('show_dunning', @filter_field_list, qw(sort sortdir));
 
   my %column_defs         =  (
     'checkbox'            => { 'text' => '', 'visible' => 'HTML' },
index 29eff0e..23989b3 100644 (file)
@@ -460,7 +460,7 @@ sub orders {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('orders', @hidden_variables);
+  $report->set_export_options('orders', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});
 
index 437d6bf..202a9d8 100644 (file)
@@ -259,7 +259,7 @@ sub report {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('report', @report_params);
+  $report->set_export_options('report', @report_params, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});
 
index 3887720..a2816e8 100644 (file)
@@ -499,7 +499,7 @@ sub generate_report {
 
   foreach my $name (qw(id transdate reference source description debit_accno credit_accno debit_tax_accno credit_tax_accno)) {
     my $sortname                = $name =~ m/accno/ ? 'accno' : $name;
-    my $sortdir                 = $sortname eq $name ? 1 - $form->{sortdir} : $form->{sortdir};
+    my $sortdir                 = $sortname eq $form->{sort} ? 1 - $form->{sortdir} : $form->{sortdir};
     $column_defs{$name}->{link} = $callback . "&sort=$sortname&sortdir=$sortdir";
   }
 
@@ -516,7 +516,7 @@ sub generate_report {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('generate_report', @hidden_variables);
+  $report->set_export_options('generate_report', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort} eq 'accno' ? 'debit_accno' : $form->{sort}, $form->{sortdir});
 
index c490895..1969608 100644 (file)
@@ -972,7 +972,7 @@ sub orders {
 
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
-  $report->set_export_options('orders', @hidden_variables);
+  $report->set_export_options('orders', @hidden_variables, qw(sort sortdir));
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});
 
   my @options;
index a658742..a9740b1 100644 (file)
@@ -132,7 +132,7 @@ sub project_report {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('project_report', @hidden_vars);
+  $report->set_export_options('project_report', @hidden_vars, 'sort');
 
   $report->set_sort_indicator($form->{sort}, 1);
 
index 9441065..98a0aba 100644 (file)
@@ -2308,7 +2308,7 @@ sub list_payments {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('list_payments', @hidden_variables);
+  $report->set_export_options('list_payments', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort}, $form->{sortdir});
 
index 477ab0b..d1d406d 100644 (file)
@@ -645,13 +645,13 @@ sub generate_journal {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('generate_journal', @hidden_variables);
+  $report->set_export_options('generate_journal', @hidden_variables, qw(sort order));
 
   $report->set_sort_indicator($form->{sort}, $form->{order});
 
   $report->set_options('output_format'        => 'HTML',
                        'title'                => $form->{title},
-                       'attachment_basename'  => strftime('warehouse_journal_%Y%m%d', localtime time));
+                       'attachment_basename'  => strftime($locale->text('warehouse_journal_list') . '_%Y%m%d', localtime time));
   $report->set_options_from_form();
 
   my $all_units = AM->retrieve_units(\%myconfig, $form);
@@ -767,13 +767,13 @@ sub generate_report {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('generate_report', @hidden_variables);
+  $report->set_export_options('generate_report', @hidden_variables, qw(sort order));
 
   $report->set_sort_indicator($sort_col, $form->{order});
 
   $report->set_options('output_format'        => 'HTML',
                        'title'                => $form->{title},
-                       'attachment_basename'  => strftime('warehouse_report_%Y%m%d', localtime time));
+                       'attachment_basename'  => strftime($locale->text('warehouse_report_list') . '_%Y%m%d', localtime time));
   $report->set_options_from_form();
 
   my $all_units = AM->retrieve_units(\%myconfig, $form);
index e936f00..47a8fba 100644 (file)
@@ -1680,6 +1680,7 @@ $self->{texts} = {
   'You\'ve already chosen the following limitations:' => 'Sie haben bereits die folgenden Einschr&auml;nkungen vorgenommen:',
   'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Ihre PostgreSQL-Installation benutzt UTF-8 als Zeichensatz. Sie müssen deshalb Lx-Office so konfigurieren, dass es ebenfalls UTF-8 als Zeichensatz benutzt.',
   'Your TODO list'              => 'Ihre Aufgabenliste',
+  'Your download does not exist anymore. Please re-run the DATEV export assistant.' => 'Ihr Download existiert nicht mehr. Bitte starten Sie den DATEV-Exportassistenten erneut.',
   'Zeitpunkt'                   => 'Zeitpunkt',
   'Zeitraum'                    => 'Zeitraum',
   'Zero amount posting!'        => 'Buchung ohne Wert',
@@ -1812,7 +1813,10 @@ $self->{texts} = {
   'used'                        => 'Verbraucht',
   'valid from'                  => 'Gültig ab',
   'vendor'                      => 'Lieferant',
+  'vendor_invoice_list'         => 'kreditorenbuchungsliste',
   'vendor_list'                 => 'lieferantenliste',
+  'warehouse_journal_list'      => 'lagerbuchungsliste',
+  'warehouse_report_list'       => 'lagerbestandsliste',
   'wrongformat'                 => 'Falsches Format',
   'yes'                         => 'ja',
 };
index 2e8492e..d450bc7 100644 (file)
@@ -271,7 +271,6 @@ $self->{texts} = {
   'customer'                    => 'Kunde',
   'history'                     => 'Historie',
   'invoice'                     => 'Rechnung',
-  'invoice_list'                => 'debitorenbuchungsliste',
   'mark as paid'                => 'als bezahlt markieren',
   'no'                          => 'nein',
   'packing_list'                => 'Versandliste',
@@ -284,6 +283,7 @@ $self->{texts} = {
   'sales_order'                 => 'Kundenauftrag',
   'sales_quotation'             => 'Verkaufsangebot',
   'vendor'                      => 'Lieferant',
+  'vendor_invoice_list'         => 'kreditorenbuchungsliste',
   'wrongformat'                 => 'Falsches Format',
   'yes'                         => 'ja',
 };
index 147912b..3af715b 100644 (file)
@@ -165,6 +165,7 @@ $self->{texts} = {
   'Warehouse management'        => 'Lagerverwaltung/Bestandsveränderung',
   'You do not have the permissions to access this function.' => 'Sie verf&uuml;gen nicht &uuml;ber die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
   'Your PostgreSQL installationen uses UTF-8 as its encoding. Therefore you have to configure Lx-Office to use UTF-8 as well.' => 'Ihre PostgreSQL-Installation benutzt UTF-8 als Zeichensatz. Sie müssen deshalb Lx-Office so konfigurieren, dass es ebenfalls UTF-8 als Zeichensatz benutzt.',
+  'Your download does not exist anymore. Please re-run the DATEV export assistant.' => 'Ihr Download existiert nicht mehr. Bitte starten Sie den DATEV-Exportassistenten erneut.',
   'Zeitraum'                    => 'Zeitraum',
   '[email]'                     => '[email]',
   'bin_list'                    => 'Lagerliste',
index a0001ae..76fb757 100644 (file)
@@ -219,6 +219,8 @@ $self->{texts} = {
   'transfer'                    => 'Umlagerung',
   'used'                        => 'Verbraucht',
   'vendor'                      => 'Lieferant',
+  'warehouse_journal_list'      => 'lagerbuchungsliste',
+  'warehouse_report_list'       => 'lagerbestandsliste',
   'yes'                         => 'ja',
 };