--- loncom/interface/lonmenu.pm 2011/01/13 19:43:12 1.341 +++ loncom/interface/lonmenu.pm 2011/09/27 14:50:12 1.351 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.341 2011/01/13 19:43:12 www Exp $ +# $Id: lonmenu.pm,v 1.351 2011/09/27 14:50:12 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -107,8 +107,6 @@ entries from mydesk.tab Same as primary_menu() but operates on @secondary_menu. -=item show_return_link() - =item innerregister() This gets called in order to register a URL in the body of the document @@ -157,6 +155,7 @@ use Apache::lonenc(); use Apache::lonlocal; use LONCAPA qw(:DEFAULT :match); use HTML::Entities(); +use Apache::lonwishlist(); use vars qw(@desklines %category_names %category_members %category_positions $readdesk @primary_menu @secondary_menu); @@ -273,10 +272,10 @@ sub secondary_menu { my $canmodifyuser = &Apache::lonnet::allowed('cst', $crs_sec); my $canviewwnew = &Apache::lonnet::allowed('whn', $crs_sec); my $canmodpara = &Apache::lonnet::allowed('opa', $crs_sec); - my $canvgr = &Apache::lonnet::allowed('vgr', $crs_sec); - my $author = getauthor(); + my $canvgr = &Apache::lonnet::allowed('vgr', $crs_sec); + my $canmgr = &Apache::lonnet::allowed('mgr', $crs_sec); + my $author = &getauthor(); - my $showlink = &show_return_link(); my %groups = &Apache::lonnet::get_active_groups( $env{'user.domain'}, $env{'user.name'}, $env{'course.' . $env{'request.course.id'} . '.domain'}, @@ -288,9 +287,6 @@ sub secondary_menu { next if $$menuitem[4] ne 'always' && $$menuitem[4] ne 'author' && !$env{'request.course.id'}; - next if $$menuitem[4] eq 'showreturn' - && !$showlink - && !($env{'request.state'} eq 'construct'); next if $$menuitem[4] =~ /^mdc/ && !$canedit; next if $$menuitem[4] eq 'nvgr' @@ -299,6 +295,12 @@ sub secondary_menu { && !$canvgr; next if $$menuitem[4] eq 'cst' && !$canmodifyuser; + next if $$menuitem[4] eq 'ncst' + && $canmodifyuser; + next if $$menuitem[4] eq 'mgr' + && !$canmgr; + next if $$menuitem[4] eq 'nmgr' + && $canmgr; next if $$menuitem[4] eq 'whn' && !$canviewwnew; next if $$menuitem[4] eq 'opa' @@ -346,24 +348,6 @@ sub secondary_menu { return "
"; } -sub show_return_link { - if (($env{'request.noversionuri'} =~ m{^/adm/(viewclasslist|navmaps)($|\?)}) - || ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) { - - return if ($env{'form.register'}); - } - return (($env{'request.noversionuri'}=~m{^/(res|public)/} && - $env{'request.symb'} eq '') - || - ($env{'request.noversionuri'}=~ m{^/cgi-bin/printout.pl}) - || - (($env{'request.noversionuri'}=~/^\/adm\//) && - ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) && - ($env{'request.noversionuri'}!~ - m{^/adm/.*/(smppg|bulletinboard)($|\?)}) - )); -} - sub innerregister { my ($forcereg,$bread_crumbs) = @_; my $const_space = ($env{'request.state'} eq 'construct'); @@ -375,9 +359,10 @@ sub innerregister { undef(@inlineremote); + my $resurl; if ( $env{'request.symb'} && $env{'request.course.id'} ) { - my ($mapurl,$rid,$resurl) = &Apache::lonnet::decode_symb(&Apache::lonnet::symbread()); + (my $mapurl, my $rid, $resurl) = &Apache::lonnet::decode_symb(&Apache::lonnet::symbread()); my $coursetitle = $env{'course.'.$env{'request.course.id'}.'.description'}; my $maptitle = &Apache::lonnet::gettitle($mapurl); @@ -428,20 +413,20 @@ sub innerregister { if ($env{'request.symb'} ne '' && $env{'request.filename'}=~/\.(problem|exam|quiz|assess|survey|form|task)$/) { if (&Apache::lonnet::allowed('mgr',$crs)) { - $hwkadd.=&switch('','',7,2,'pgrd.png','problem[_1]','grades[_4]', + $hwkadd.=&switch('','',7,2,'pgrd.png','Content Grades','grades[_4]', "gocmd('/adm/grades','gradingmenu')", - 'Modify user grades for this assessment resource'); + 'Content Grades'); } elsif (&Apache::lonnet::allowed('vgr',$crs)) { - $hwkadd.=&switch('','',7,2,'subm.png','view sub-[_1]','missions[_1]', + $hwkadd.=&switch('','',7,2,'subm.png','Content Submissions','missions[_1]', "gocmd('/adm/grades','submission')", - 'View user submissions for this assessment resource'); + 'Content Submissions'); } } if ($env{'request.symb'} ne '' && &Apache::lonnet::allowed('opa',$crs)) { - $hwkadd.=&switch('','',7,3,'pparm.png','problem[_2]','parms[_2]', + $hwkadd.=&switch('','',7,3,'pparm.png','Content Settings','parms[_2]', "gocmd('/adm/parmset','set')", - 'Modify parameter settings for this resource'); + 'Content Settings'); } # -- End Homework ### @@ -547,7 +532,7 @@ sub innerregister { } } $editbutton=&switch - ('','',6,1,'pcstr.png','edit[_1]','resource[_2]', + ('','',6,1,'pcstr.png','Edit','resource[_2]', $bot,"Edit this resource"); $noeditbutton = 0; } @@ -563,7 +548,7 @@ sub innerregister { my $cfile = &edit_course_upload($file,$cnum,$cdom); if ($cfile) { $editbutton=&switch - ('','',6,1,'pcstr.png','edit[_1]', + ('','',6,1,'pcstr.png','Edit', 'resource[_2]',"go('".$cfile."');", 'Edit this resource'); } @@ -571,6 +556,18 @@ sub innerregister { } } } + if ($env{'request.course.id'}) { + if ($resurl eq "public/$cdom/$cnum/syllabus") { + if ($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ /\w/) { + if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { + $editbutton=&switch('','',6,1,'pcstr.png','Edit', + 'resource[_2]', + "go('/adm/courseprefs?phase=display&actions=courseinfo')", + 'Edit this resource'); + } + } + } + } ### ### # Prepare the rest of the buttons @@ -592,11 +589,11 @@ sub innerregister { # Probably should be in mydesk.tab # $menuitems=(<