Merge branch 'kunden-lieferantennummernkreise-in-transnumbergenerator-2138'
[kivitendo-erp.git] / SL / Layout / Javascript.pm
index cdc6491..5615ce9 100644 (file)
@@ -6,16 +6,16 @@ use parent qw(SL::Layout::Base);
 use List::Util qw(max);
 use URI;
 
-sub new {
-  my ($class, @slurp) = @_;
-
-  my $self = $class->SUPER::new(@slurp);
-
-  $self->add_sub_layouts([
-    SL::Layout::None->new,
-  ]);
+sub init_sub_layouts {
+  [ SL::Layout::None->new ]
+}
 
-  $self;
+sub use_javascript {
+  my $self = shift;
+  qw(
+    js/quicksearch_input.js
+  ),
+  $self->SUPER::use_javascript(@_);
 }
 
 sub pre_content {
@@ -30,6 +30,17 @@ sub end_content {
   "</div>\n";
 }
 
+sub stylesheets {
+  $_[0]->add_stylesheets(qw(
+    dhtmlsuite/menu-item.css
+    dhtmlsuite/menu-bar.css
+    icons16.css
+    frame_header/header.css
+    menu.css
+  ));
+  $_[0]->SUPER::stylesheets;
+}
+
 sub display {
   my ($self) = @_;
   my $form     = $main::form;
@@ -38,7 +49,7 @@ sub display {
   $callback               = URI->new($callback)->rel($callback) if $callback;
   $callback               = "login.pl?action=company_logo"      if $callback =~ /^(\.\/)?$/;
 
-  $self->render("menu/menunew", { partial => 1, no_output => 1 },
+  $self->presenter->render("menu/menunew",
     force_ul_width  => 1,
     date            => $self->clock_line,
     menu_items      => $self->acc_menu,
@@ -101,10 +112,13 @@ sub create_menu {
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
 
+  $depth ||= 0;
+
   die if ($depth * 1 > 5);
 
   my @menuorder  = $menu->access_control(\%myconfig, $parent);
   $parent       .= "--" if ($parent);
+  $parent      ||= '';
 
   foreach my $name (@menuorder) {
     substr($name, 0, length($parent), "");
@@ -114,7 +128,7 @@ sub create_menu {
     my $item      = { 'title' => $::locale->text($name) };
     push @{ $all_items }, $item;
 
-    if ($menu_item->{submenu} || !defined($menu_item->{module}) || ($menu_item->{module} eq "menu.pl")) {
+    if ($menu_item->{submenu} || (!defined($menu_item->{module}) && !defined($menu_item->{href}))) {
       $item->{subitems} = [];
       $item->{image} = _icon_path("$name.png");
       $self->create_menu($menu, $item->{subitems}, "${parent}${name}", $depth * 1 + 1);