X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Freportgenerator.pl;h=89f3b721ca48fe4d32335ab0c4fbd3d6865ac4bc;hb=3a94f4d2dd9a835d4a7007e1b999ea00b3c4e1cd;hp=772fe68ef489edde6210c69e53905c1d63b13545;hpb=723b79bdf889207b36f5ab0edcfd4a6d81c6f8b6;p=kivitendo-erp.git diff --git a/bin/mozilla/reportgenerator.pl b/bin/mozilla/reportgenerator.pl index 772fe68ef..89f3b721c 100644 --- a/bin/mozilla/reportgenerator.pl +++ b/bin/mozilla/reportgenerator.pl @@ -16,8 +16,30 @@ use SL::Common; use SL::MoreCommon; 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,57 +52,66 @@ sub report_generator_export_as_pdf { report_generator_do('HTML'); } - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); return; } - my @form_values; - map { push @form_values, { 'key' => $_, 'value' => $form->{$_} } } keys %{ $form }; + my @form_values = $form->flatten_variables(grep { ($_ ne 'login') && ($_ ne 'password') } keys %{ $form }); $form->get_lists('printers' => 'ALL_PRINTERS'); map { $_->{selected} = $myconfig{default_printer_id} == $_->{id} } @{ $form->{ALL_PRINTERS} }; $form->{copies} = max $myconfig{copies} * 1, 1; + my $allow_font_selection = 1; + eval { require PDF::API2; }; + $allow_font_selection = 0 if ($@); + $form->{title} = $locale->text('PDF export -- options'); $form->header(); - print $form->parse_html_template2('report_generator/pdf_export_options', { 'HIDDEN' => \@form_values }); + 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; } - my @form_values; - map { push @form_values, { 'key' => $_, 'value' => $form->{$_} } } keys %{ $form }; + my @form_values = $form->flatten_variables(grep { ($_ ne 'login') && ($_ ne 'password') } keys %{ $form }); $form->{title} = $locale->text('CSV export -- options'); $form->header(); - print $form->parse_html_template2('report_generator/csv_export_options', { 'HIDDEN' => \@form_values }); + 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.')); @@ -96,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) { @@ -111,7 +145,7 @@ sub report_generator_dispatcher { call_sub($nextsub); - $lxdebug->leave_sub(); + $main::lxdebug->leave_sub(); } 1;