diff options
author | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-09-01 06:16:04 +0000 |
---|---|---|
committer | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-09-01 06:16:04 +0000 |
commit | de5795278d3f8a52112d0f42bcf7716a76ff11ac (patch) | |
tree | fa86e66fcceb146ce482464b6767a862c3aa2a00 /scripts | |
parent | 77f23e8cb7af1caaa1122e712d721133bc71bc4b (diff) |
More menu fixes
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1482 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/menu.pl | 76 |
1 files changed, 47 insertions, 29 deletions
diff --git a/scripts/menu.pl b/scripts/menu.pl index af5a428a..ee88f08e 100644 --- a/scripts/menu.pl +++ b/scripts/menu.pl @@ -15,7 +15,7 @@ use strict; sub __default { my ($request) = @_; if ($request->{menubar}){ - # todo + drilldown_menu($request); } else { expanding_menu($request); } @@ -29,46 +29,64 @@ sub root_doc { $request->{main} = "am.pl?action=recurring_transactions" if $request->{main} eq 'recurring_transactions'; $template = LedgerSMB::Template->new( - user =>$request->{_user}, - locale => $request->{_locale}, - path => 'UI', - template => 'frameset', - format => 'HTML' - ); - } else { - # TODO: Create Lynx Initial Menu - } - $template->render($request); - } + user =>$request->{_user}, + locale => $request->{_locale}, + path => 'UI', + template => 'frameset', + format => 'HTML' + ); + } else { + drilldown_menu($request); + return; + } + $template->render($request); +} - sub expanding_menu { - my ($request) = @_; - if ($request->{'open'} !~ s/:$request->{id}:/:/){ - $request->{'open'} .= ":$request->{id}:"; - } +sub expanding_menu { + my ($request) = @_; + if ($request->{'open'} !~ s/:$request->{id}:/:/){ + $request->{'open'} .= ":$request->{id}:"; + } - # The above system can lead to extra colons. - $request->{'open'} =~ s/:+/:/g; + # The above system can lead to extra colons. + $request->{'open'} =~ s/:+/:/g; - + - my $menu = LedgerSMB::DBObject::Menu->new({base => $request}); - $menu->generate(); - for my $item (@{$menu->{menu_items}}){ - if ($request->{'open'} =~ /:$item->{id}:/ ){ - $item->{'open'} = 'true'; - } - } + my $menu = LedgerSMB::DBObject::Menu->new({base => $request}); + $menu->generate(); + for my $item (@{$menu->{menu_items}}){ + if ($request->{'open'} =~ /:$item->{id}:/ ){ + $item->{'open'} = 'true'; + } + } my $template = LedgerSMB::Template->new( user => $request->{_user}, locale => $request->{_locale}, - path => 'UI', - template => 'menu_expand', + path => 'UI/menu', + template => 'expanding', format => 'HTML', ); $template->render($menu); } +sub drilldown_menu { + my ($request) = @_; + my $menu = LedgerSMB::DBObject::Menu->new({base => $request}); + + $menu->{parent_id} ||= 0; + + print STDERR "Testing"; + $menu->generate_section; + my $template = LedgerSMB::Template->new( + user => $request->{_user}, + locale => $request->{_locale}, + path => 'UI/menu', + template => 'drilldown', + format => 'HTML', + ); + $template->render($menu); +} 1; |