--- loncom/interface/lonmenu.pm 2013/05/26 12:39:23 1.415 +++ loncom/interface/lonmenu.pm 2013/08/13 14:17:00 1.420 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.415 2013/05/26 12:39:23 raeburn Exp $ +# $Id: lonmenu.pm,v 1.420 2013/08/13 14:17:00 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -261,7 +261,7 @@ sub primary_menu { push(@primsub,$item); } if (@primsub > 0) { - $menu{$position} .= &create_submenu($link,$target,$title,\@primsub); + $menu{$position} .= &create_submenu($link,$target,$title,\@primsub,1); } elsif ($link) { $menu{$position} .= '
  • '.&mt($title).'
  • '; } @@ -321,6 +321,9 @@ sub secondary_menu { : ''); my $canedit = &Apache::lonnet::allowed('mdc', $env{'request.course.id'}); my $canviewroster = $env{'course.'.$env{'request.course.id'}.'.student_classlist_view'}; + if ($canviewroster eq 'disabled') { + undef($canviewroster); + } my $canviewgrps = &Apache::lonnet::allowed('vcg', $crs_sec); my $canmodifyuser = &Apache::lonnet::allowed('cst', $crs_sec); my $canviewwnew = &Apache::lonnet::allowed('whn', $crs_sec); @@ -329,7 +332,7 @@ sub secondary_menu { my $canmgr = &Apache::lonnet::allowed('mgr', $crs_sec); my $author = &getauthor(); - my ($cdom,$cnum,$showsyllabus,$showfeeds); + my ($cdom,$cnum,$showsyllabus,$showfeeds,$showresv); if ($env{'request.course.id'}) { $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; @@ -349,6 +352,12 @@ sub secondary_menu { $showfeeds = 1; } } + unless ($canmgr) { + my %slots = &Apache::lonnet::get_course_slots($cnum,$cdom); + if (keys(%slots) > 0) { + $showresv = 1; + } + } } my ($canmodifycoauthor); @@ -385,8 +394,8 @@ sub secondary_menu { && ($canmodifyuser || !$canviewroster); next if $$menuitem[4] eq 'mgr' && !$canmgr; - next if $$menuitem[4] eq 'nmgr' - && $canmgr; + next if $$menuitem[4] eq 'showresv' + && !$showresv; next if $$menuitem[4] eq 'whn' && !$canviewwnew; next if $$menuitem[4] eq 'opa' @@ -460,7 +469,7 @@ sub secondary_menu { } sub create_submenu { - my ($link,$target,$title,$submenu) = @_; + my ($link,$target,$title,$submenu,$translate) = @_; return unless (ref($submenu) eq 'ARRAY'); my $disptarget; if ($target ne '') { @@ -487,17 +496,24 @@ sub create_submenu { foreach my $item (@{$submenu}) { $count ++; if (ref($item) eq 'ARRAY') { + my $href = $item->[0]; + if ($href =~ /(aboutme|rss\.html)$/) { + next unless (($env{'user.name'} ne '') && ($env{'user.domain'} ne '')); + $href =~ s/\[domain\]/$env{'user.domain'}/g; + $href =~ s/\[user\]/$env{'user.name'}/g; + } my $borderbot; if ($count == $numsub) { $borderbot = 'border-bottom:1px solid black;'; } - if ($item->[0] =~ /(aboutme|rss\.html)$/) { - $item->[0] =~ s/\[domain\]/$env{'user.domain'}/g; - $item->[0] =~ s/\[user\]/$env{'user.name'}/g; - } $menu .= '
  • '. - &mt($item->[1]).'
  • '; + $borderbot.'">'; + if ($translate) { + $menu .= &mt($item->[1]); + } else { + $menu .= $item->[1]; + } + $menu .= ''; } } $menu .= ''; @@ -1734,7 +1750,7 @@ sub roles_selector { } } } - $switchtext = &mt('Switch role'); + $switchtext = 'Switch role'; # do not translate here my @roles_order = ($ccrole,'in','ta','ep','ad','st'); my $numdiffsec; if (keys(%seccount) == 1) {