Controller::send_file: rendern bei ajax abschalten können
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 8 Oct 2019 16:55:38 +0000 (18:55 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Wed, 9 Oct 2019 13:30:45 +0000 (15:30 +0200)
Damit kann man weitere client_js-Kommandos absetzen.

SL/Controller/Base.pm

index b8f53e9..f9db85a 100644 (file)
@@ -159,7 +159,8 @@ sub send_file {
 
   if ($::request->is_ajax || $params{ajax}) {
     my $octets = ref $file_name_or_content ? $file_name_or_content : \ do { local $/ = undef; <$file> };
-    $self->js->save_file(MIME::Base64::encode_base64($$octets), $content_type, $size, $attachment_name)->render;
+    $self->js->save_file(MIME::Base64::encode_base64($$octets), $content_type, $size, $attachment_name);
+    $self->js->render unless $params{js_no_render};
   } else {
     print $::form->create_http_response(content_type        => $content_type,
                                         content_disposition => 'attachment; filename="' . $attachment_name . '"',