X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FHelper%2FReportGenerator.pm;h=13f47983fcb7eff95fd4451cc91253859e284a74;hb=667cfdce6bf2a06094339fc09fb7d27fc1636d96;hp=3cf2622a714341335c3d86e4253779578f390e72;hpb=3d1ae2d96b65e88a5b12dde2b2524dc10f7932fa;p=kivitendo-erp.git diff --git a/SL/Controller/Helper/ReportGenerator.pm b/SL/Controller/Helper/ReportGenerator.pm index 3cf2622a7..13f47983f 100644 --- a/SL/Controller/Helper/ReportGenerator.pm +++ b/SL/Controller/Helper/ReportGenerator.pm @@ -19,6 +19,9 @@ our @EXPORT = qw( sub action_report_generator_export_as_pdf { my ($self) = @_; + + delete $::form->{action_report_generator_export_as_pdf}; + if ($::form->{report_generator_pdf_options_set}) { my $saved_form = save_form(); @@ -48,6 +51,9 @@ sub action_report_generator_export_as_pdf { sub action_report_generator_export_as_csv { my ($self) = @_; + + delete $::form->{action_report_generator_export_as_csv}; + if ($::form->{report_generator_csv_options_set}) { $self->report_generator_do('CSV'); return; @@ -89,9 +95,10 @@ sub report_generator_list_objects { croak "Parameter 'objects' must exist and be an array reference" if ref($params{objects}) ne 'ARRAY'; croak "Parameter 'report' must exist and be an instance of SL::ReportGenerator" if ref($params{report}) ne 'SL::ReportGenerator'; croak "Parameter 'options', if exists, must be a hash reference" if $params{options} && (ref($params{options}) ne 'HASH'); + $params{layout} //= 1; my $column_defs = $params{report}->{columns}; - my @columns = $params{report}->get_visible_columns; + my @columns = $params{report}->get_visible_columns('HTML'); for my $obj (@{ $params{objects} || [] }) { my %data = map { @@ -110,7 +117,12 @@ sub report_generator_list_objects { $params{report}->add_data(\%data); } - return $params{report}->generate_with_headers(%{ $params{options} || {}}); + if ($params{layout}) { + return $params{report}->generate_with_headers(%{ $params{options} || {}}); + } else { + my $html = $params{report}->generate_html_content(%{ $params{options} || {}}); + $self->render(\$html , { layout => 0, process => 0 }); + } } 1;