X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/348d92dd4eef97a607e2ad87eda20e63804c4f89..d8be5cc409de5b3bc34439599b1481201a5a1c2e:/SL/Controller/Base.pm diff --git a/SL/Controller/Base.pm b/SL/Controller/Base.pm index f9db85aaf..3c5f919de 100644 --- a/SL/Controller/Base.pm +++ b/SL/Controller/Base.pm @@ -15,7 +15,7 @@ use SL::Presenter; use Rose::Object::MakeMethods::Generic ( scalar => [ qw(action_name) ], - 'scalar --get_set_init' => [ qw(js) ], + 'scalar --get_set_init' => [ qw(js p) ], ); # @@ -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}); } } @@ -154,6 +156,7 @@ sub send_file { } my $content_type = $params{type} || 'application/octet_stream'; + my $content_disposition = $params{content_disposition} || 'attachment'; my $attachment_name = $params{name} || (!ref($file_name_or_content) ? $file_name_or_content : ''); $attachment_name =~ s:.*//::g; @@ -163,7 +166,7 @@ sub send_file { $self->js->render unless $params{js_no_render}; } else { print $::form->create_http_response(content_type => $content_type, - content_disposition => 'attachment; filename="' . $attachment_name . '"', + content_disposition => $content_disposition . '; filename="' . $attachment_name . '"', content_length => $size); if (!ref $file_name_or_content) { @@ -182,6 +185,10 @@ sub presenter { return SL::Presenter->get; } +sub init_p { + return SL::Presenter->get; +} + sub controller_name { my $class = ref($_[0]) || $_[0]; $class =~ s/^SL::Controller:://;