X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FLayout%2FJavascript.pm;h=5ddb4d7fb772835085adade9dd9591a543d5b7b4;hb=01b4e844b8991b2f660e89adceed03ca0db9491a;hp=6e6d6553d9b1049941b432c81c669fe8afa569fe;hpb=1b2a67905e7864f2b4f0eaf98a1d19c03a29e49c;p=kivitendo-erp.git diff --git a/SL/Layout/Javascript.pm b/SL/Layout/Javascript.pm index 6e6d6553d..5ddb4d7fb 100644 --- a/SL/Layout/Javascript.pm +++ b/SL/Layout/Javascript.pm @@ -7,10 +7,22 @@ use List::Util qw(max); use URI; sub init_sub_layouts { - [ SL::Layout::None->new ] + [ + SL::Layout::None->new, + SL::Layout::Top->new, + ] +} + +sub use_javascript { + my $self = shift; + qw( + js/dhtmlsuite/menu-for-applications.js + ), + $self->SUPER::use_javascript(@_); } sub pre_content { + $_[0]->SUPER::pre_content . &display } @@ -26,50 +38,22 @@ 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; - my $callback = $form->unescape($form->{callback}); - $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, - callback => $callback, ); } -sub clock_line { - my $form = $main::form; - - my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, - $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) - = localtime(time); - $Monat += 1; - $Jahrestag += 1; - $Monat = $Monat < 10 ? $Monat = "0" . $Monat : $Monat; - $Monatstag = $Monatstag < 10 ? $Monatstag = "0" . $Monatstag : $Monatstag; - $Jahr += 1900; - my @Wochentage = ("Sonntag", "Montag", "Dienstag", "Mittwoch", - "Donnerstag", "Freitag", "Samstag"); - my @Monatsnamen = ("", "Januar", "Februar", "März", - "April", "Mai", "Juni", "Juli", - "August", "September", "Oktober", "November", - "Dezember"); - return - $Wochentage[$Wochentag] . ", der " - . $Monatstag . "." - . $Monat . "." - . $Jahr . " - "; -} - sub acc_menu { my ($self) = @_; @@ -101,10 +85,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 +101,7 @@ sub create_menu { my $item = { 'title' => $::locale->text($name) }; push @{ $all_items }, $item; - if ($menu_item->{submenu} || !defined($menu_item->{module})) { + 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);