X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FLayout%2FJavascript.pm;h=5ddb4d7fb772835085adade9dd9591a543d5b7b4;hb=e24e328414e830c8f0bdff437c82bdc67a1d8367;hp=28731ec9ed2cdc5a870d7c52d41c2b1eb67eb3e2;hpb=a3fb5023c10bfd1d2fcf89716d5f99ade60d8505;p=kivitendo-erp.git diff --git a/SL/Layout/Javascript.pm b/SL/Layout/Javascript.pm index 28731ec9e..5ddb4d7fb 100644 --- a/SL/Layout/Javascript.pm +++ b/SL/Layout/Javascript.pm @@ -6,19 +6,23 @@ 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([ +sub init_sub_layouts { + [ SL::Layout::None->new, - ]); + SL::Layout::Top->new, + ] +} - $self; +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 } @@ -34,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) = @_; @@ -109,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), ""); @@ -122,7 +101,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);