X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FHelper%2FMassPrintCreatePDF.pm;h=be80a69d4d62cc23ed71c1938ebd74372ce9aac2;hb=ce73964f91267ab5eecb2832765efbb3752c2a59;hp=454088e6dc274c537ec7181c9e193ac40112f85b;hpb=54ce51443886623bb785e7c54492ecbc8dc9b3aa;p=kivitendo-erp.git diff --git a/SL/Helper/MassPrintCreatePDF.pm b/SL/Helper/MassPrintCreatePDF.pm index 454088e6d..be80a69d4 100644 --- a/SL/Helper/MassPrintCreatePDF.pm +++ b/SL/Helper/MassPrintCreatePDF.pm @@ -2,13 +2,13 @@ package SL::Helper::MassPrintCreatePDF; use strict; +use SL::Webdav; + use Exporter 'import'; our @EXPORT_OK = qw(create_massprint_pdf merge_massprint_pdf create_pdfs print_pdfs); our %EXPORT_TAGS = ( all => \@EXPORT_OK, ); -use SL::Helper::CreatePDF qw(:all); -use SL::Helper::File qw(store_pdf append_general_pdf_attachments); sub create_pdfs { my ($self, %params) = @_; @@ -25,8 +25,9 @@ sub create_massprint_pdf { my ($self, %params) = @_; my $form = Form->new(''); my %create_params = ( - variables => $form, - return => 'file_name', + variables => $form, + record => $params{document}, + return => 'file_name', ); ## find_template may return a list ! $create_params{template} = $self->find_template(name => $params{variables}->{formname}, printer_id => $params{printer_id}); @@ -39,12 +40,34 @@ sub create_massprint_pdf { # flatten_to_form sets payment_terms from customer/vendor - we do not want that here # really ?? delete $form->{payment_terms} if !$form->{payment_id}; + for my $i (1 .. $form->{rowcount}) { + $form->{"sellprice_$i"} = $form->{"fxsellprice_$i"}; + } $form->prepare_for_printing; + + $form->{language} = '_' . $form->{language}; $form->{attachment_filename} = $form->generate_attachment_filename; my $pdf_filename = $self->create_pdf(%create_params); + if ($::instance_conf->get_webdav_documents && !$form->{preview}) { + my $webdav = SL::Webdav->new( + type => $params{document}->type, + number => $params{document}->record_number, + ); + my $webdav_file = SL::Webdav::File->new( + webdav => $webdav, + filename => $form->{attachment_filename}, + ); + eval { + $webdav_file->store(file => $pdf_filename); + 1; + } or do { + push @{ $params{errors} }, $@ if exists $params{errors}; + } + } + if ( $::instance_conf->get_doc_storage && ! $form->{preview}) { $self->append_general_pdf_attachments(filepath => $pdf_filename, type => $form->{type} ); $form->{tmpfile} = $pdf_filename; @@ -159,6 +182,15 @@ a tempory $form is used to set before printing is done +Recognized parameters are (not a complete list): + +=over 2 + +=item * C – optional. If given, it must be an array ref. This will be +filled with potential errors. + +=back + =head1 AUTHOR @@ -166,4 +198,3 @@ Martin Helmling Emartin.helmling@opendynamic.deE =cut -