X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/44edbb13b88b5fd306d3e20111aed50233b6369b..f190610616ffaea2ba9868da8f663100a00e4fdd:/SL/Controller/Letter.pm diff --git a/SL/Controller/Letter.pm b/SL/Controller/Letter.pm index 5e07bd0f8..f154aed9d 100644 --- a/SL/Controller/Letter.pm +++ b/SL/Controller/Letter.pm @@ -4,6 +4,7 @@ use strict; use parent qw(SL::Controller::Base); use Carp; +use File::Basename; use POSIX qw(strftime); use SL::Controller::Helper::GetModels; use SL::Controller::Helper::ReportGenerator; @@ -11,7 +12,7 @@ use SL::CT; use SL::DB::Letter; use SL::DB::LetterDraft; use SL::DB::Employee; -use SL::Helper::Flash qw(flash); +use SL::Helper::Flash qw(flash flash_later); use SL::Helper::CreatePDF; use SL::Helper::PrintOptions; use SL::Locale::String qw(t8); @@ -221,6 +222,9 @@ sub action_print_letter { template => $template_file, variables => $::form, return => 'file_name', + variable_content_types => { + body => 'html', + }, ); my $pdf_file_name; @@ -244,6 +248,14 @@ sub action_print_letter { return !$err; } + my $webdav_copy_args = Form->new(''); + %{ $webdav_copy_args } = ( + %{ $::form }, + tmpdir => dirname($pdf_file_name), + tmpfile => basename($pdf_file_name), + cwd => POSIX::getcwd(), + ); + if (!$::form->{printer_id} || $::form->{media} eq 'screen') { my $file = IO::File->new($pdf_file_name, 'r') || croak("Cannot open file '$pdf_file_name'"); @@ -260,7 +272,7 @@ sub action_print_letter { $::locale->with_raw_io(\*STDOUT, sub { print while <$file> }); $file->close; - Common::copy_file_to_webdav_folder($::form) if $::instance_conf->get_webdav_documents; + Common::copy_file_to_webdav_folder($webdav_copy_args) if $::instance_conf->get_webdav_documents; unlink $pdf_file_name; return 1; } @@ -272,7 +284,7 @@ sub action_print_letter { binmode $out; print $out scalar(read_file($pdf_file_name)); close $out; - Common::copy_file_to_webdav_folder($::form) if $::instance_conf->get_webdav_documents; + Common::copy_file_to_webdav_folder($webdav_copy_args) if $::instance_conf->get_webdav_documents; flash_later('info', t8('The documents have been sent to the printer \'#1\'.', $printer->printer_description)); $self->redirect_to(action => 'edit', id => $letter->{id}, 'printer_id' => $::form->{printer_id}); @@ -306,6 +318,8 @@ sub action_delete_drafts { sub _display { my ($self, %params) = @_; + $::request->{layout}->use_javascript("${_}.js") for qw(ckeditor/ckeditor ckeditor/adapters/jquery); + my $letter = $self->letter; $params{title} ||= t8('Edit Letter');