Historien Suchmaschine: Stacküberlauf vermeiden
[kivitendo-erp.git] / bin / mozilla / reportgenerator.pl
index 50f6ecc..5e39df1 100644 (file)
@@ -13,11 +13,33 @@ use List::Util qw(max);
 
 use SL::Form;
 use SL::Common;
-use SL::MoreCommon;
+use SL::MoreCommon qw(restore_form save_form);
 use SL::ReportGenerator;
 
+use strict;
+
+sub report_generator_set_default_sort {
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+
+  my $default_sortorder   = shift;
+  my $default_sortdir     = shift;
+
+  $form->{sort}         ||= $default_sortorder;
+  $form->{sortdir}        = $default_sortdir unless (defined $form->{sortdir});
+  $form->{sortdir}        = $form->{sortdir} ? 1 : 0;
+
+  $main::lxdebug->leave_sub();
+}
+
+
 sub report_generator_export_as_pdf {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+  my $locale   = $main::locale;
 
   if ($form->{report_generator_pdf_options_set}) {
     my $saved_form = save_form();
@@ -30,7 +52,7 @@ sub report_generator_export_as_pdf {
       report_generator_do('HTML');
     }
 
-    $lxdebug->leave_sub();
+    $main::lxdebug->leave_sub();
     return;
   }
 
@@ -50,15 +72,18 @@ sub report_generator_export_as_pdf {
   print $form->parse_html_template('report_generator/pdf_export_options', { 'HIDDEN'               => \@form_values,
                                                                             'ALLOW_FONT_SELECTION' => $allow_font_selection, });
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub report_generator_export_as_csv {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+  my $locale   = $main::locale;
 
   if ($form->{report_generator_csv_options_set}) {
     report_generator_do('CSV');
-    $lxdebug->leave_sub();
+    $main::lxdebug->leave_sub();
     return;
   }
 
@@ -68,22 +93,25 @@ sub report_generator_export_as_csv {
   $form->header();
   print $form->parse_html_template('report_generator/csv_export_options', { 'HIDDEN' => \@form_values });
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub report_generator_back {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
 
   report_generator_do('HTML');
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub report_generator_do {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
 
   my $format  = shift;
 
+  my $form     = $main::form;
+  my $locale   = $main::locale;
+
   my $nextsub = $form->{report_generator_nextsub};
   if (!$nextsub) {
     $form->error($locale->text('report_generator_nextsub is not defined.'));
@@ -99,11 +127,14 @@ sub report_generator_do {
 
   call_sub($nextsub);
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 sub report_generator_dispatcher {
-  $lxdebug->enter_sub();
+  $main::lxdebug->enter_sub();
+
+  my $form     = $main::form;
+  my $locale   = $main::locale;
 
   my $nextsub = $form->{report_generator_dispatch_to};
   if (!$nextsub) {
@@ -114,7 +145,7 @@ sub report_generator_dispatcher {
 
   call_sub($nextsub);
 
-  $lxdebug->leave_sub();
+  $main::lxdebug->leave_sub();
 }
 
 1;