--- loncom/interface/lonmenu.pm 2016/05/13 22:48:05 1.448
+++ loncom/interface/lonmenu.pm 2016/10/06 20:03:34 1.453
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.448 2016/05/13 22:48:05 raeburn Exp $
+# $Id: lonmenu.pm,v 1.453 2016/10/06 20:03:34 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -386,7 +386,8 @@ sub secondary_menu {
undef($canviewroster);
}
my $canviewgrps = &Apache::lonnet::allowed('vcg', $crs_sec);
- my $canmodifyuser = &Apache::lonnet::allowed('cst', $crs_sec);
+ my $canmodifyuser = &Apache::lonnet::allowed('cst', $crs_sec);
+ my $canviewusers = &Apache::lonnet::allowed('vcl', $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);
@@ -457,9 +458,9 @@ sub secondary_menu {
next if $$menuitem[4] eq 'vgr'
&& !$canvgr;
next if $$menuitem[4] eq 'cst'
- && !$canmodifyuser;
+ && !$canmodifyuser && !$canviewusers;
next if $$menuitem[4] eq 'ncst'
- && ($canmodifyuser || !$canviewroster);
+ && ($canmodifyuser || $canviewusers || !$canviewroster);
next if $$menuitem[4] eq 'mgr'
&& !$canmgr;
next if $$menuitem[4] eq 'showresv'
@@ -812,7 +813,11 @@ sub innerregister {
if ($currdir =~ m-/$-) {
$is_const_dir = 1;
if ($thisdisfn eq '') {
- $is_const_dir = 2;
+ unless (($env{'request.course.id'}) &&
+ ($env{'course.'.$env{'request.course.id'}.'.num'} eq $uname) &&
+ ($env{'course.'.$env{'request.course.id'}.'.domain'} eq $udom)) {
+ $is_const_dir = 2;
+ }
}
} else {
$currdir =~ s|[^/]+$||;
@@ -873,12 +878,15 @@ ENDMENUITEMS
$got_prt = 1;
if (($env{'user.adv'}) && ($env{'request.uri'} =~ /^\/res/)
&& (!$env{'request.enc'})) {
- # wishlist is only available for users with access to resource-pool
- # and links can only be set for resources within the resource-pool
- $menuitems .= (<
$lt{'preamble'} $lt{$type}
$lt{'miss'}$lt{'proctor'}
- @@ -1795,7 +1796,7 @@ END