epic-ts
[kivitendo-erp.git] / SL / Controller / Base.pm
index b8f53e9..5e0fd26 100644 (file)
@@ -75,6 +75,7 @@ sub render {
     header     => 1,
     layout     => 1,
     process    => 1,
+    status     => '200 ok',
   );
   $options->{$_} //= $defaults{$_} for keys %defaults;
   $options->{type} = lc $options->{type};
@@ -131,7 +132,8 @@ sub render {
                         :                              'application/json';
 
       print $::form->create_http_response(content_type => $content_type,
-                                          charset      => 'UTF-8');
+                                          charset      => 'UTF-8',
+                                          (status      => $options->{status}) x !!$options->{status});
     }
   }
 
@@ -159,7 +161,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 . '"',