Rechnungsmaske: "Drucken und Buchen" und Browser-Zurück entschärfen
[kivitendo-erp.git] / SL / Controller / Layout.pm
index d618730..e92e861 100644 (file)
@@ -3,24 +3,27 @@ package SL::Controller::Layout;
 use strict;
 use parent qw(SL::Controller::Base);
 
-use SL::Menu;
-use SL::Controller::Layout::Admin;
-use SL::Controller::Layout::Classic;
-use SL::Controller::Layout::V3;
-use SL::Controller::Layout::V4;
-use SL::Controller::Layout::Javascript;
+use SL::JSON ();
 
-my %menu_cache;
+sub action_empty {
+  my ($self) = @_;
 
-sub new {
-  my ($class, %params) = @_;
+  if ($::form->{format} eq 'json' || $::request->type eq 'json') {
+    my $layout = {
+      pre_content        => $::request->{layout}->pre_content,
+      start_content      => $::request->{layout}->start_content,
+      end_content        => $::request->{layout}->end_content,
+      post_content       => $::request->{layout}->post_content,
+      javascripts        => [ $::request->{layout}->javascripts ],
+      javascripts_inline => [ $::request->{layout}->javascripts_inline ],
+      stylesheets        => [ $::request->{layout}->stylesheets ],
+      stylesheets_inline => [ $::request->{layout}->stylesheets_inline ],
+    };
 
-  return SL::Controller::Layout::Classic->new    if $params{style} eq 'old';
-  return SL::Controller::Layout::V3->new         if $params{style} eq 'v3';
-  return SL::Controller::Layout::V4->new         if $params{style} eq 'v4';
-  return SL::Controller::Layout::Javascript->new if $params{style} eq 'neu';
-  return SL::Controller::Layout::Admin->new      if $params{style} eq 'admin';
-  return SL::Controller::Layout::None->new;
+    $self->render(\ SL::JSON::to_json($layout), { type => 'json', process => 0 });
+  } else {
+    $self->render(\'', {  process => 0 });
+  }
 }
 
 1;