X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/82fcb2d56c9cbe160b3ead156e148435bfc6c0b9..000588da0f309727a3c48b973b12d6e5d4a46651:/SL/Controller/Base.pm diff --git a/SL/Controller/Base.pm b/SL/Controller/Base.pm index 4b27cd982..52ec19dcb 100644 --- a/SL/Controller/Base.pm +++ b/SL/Controller/Base.pm @@ -98,6 +98,18 @@ sub render { $options->{layout} = 0 if $options->{type} ne 'html'; } + # Let the presenter do the rest of the work. + my $output; + { + local $::form->{title} = $locals{title} if $locals{title}; + $output = $self->presenter->render( + $template, + { type => $options->{type}, process => $options->{process} }, + %locals, + SELF => $self, + ); + } + if ($options->{header}) { # Output the HTTP response and the layout in case of HTML output. @@ -120,14 +132,6 @@ sub render { } } - # Let the presenter do the rest of the work. - my $output = $self->presenter->render( - $template, - { type => $options->{type}, process => $options->{process} }, - %locals, - SELF => $self, - ); - # Print the output if wanted. print $output if $options->{output}; @@ -157,6 +161,7 @@ sub send_file { if (!ref $file_name_or_content) { $::locale->with_raw_io(\*STDOUT, sub { print while <$file> }); $file->close; + unlink $file_name_or_content if $params{unlink}; } else { $::locale->with_raw_io(\*STDOUT, sub { print $$file_name_or_content }); } @@ -490,6 +495,10 @@ C<%params> can include the following: =item * C -- the name presented to the browser; defaults to C<$file_name>; mandatory if C<$file_name_or_content> is a reference +=item * C -- if trueish and C<$file_name_or_content> refers to +a file name then unlink the file after it has been sent to the browser +(e.g. for temporary files) + =back =item C