--- rat/lonpage.pm 2020/11/13 02:46:48 1.111.2.10.2.3 +++ rat/lonpage.pm 2022/07/08 16:29:33 1.111.2.13.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Page Handler # -# $Id: lonpage.pm,v 1.111.2.10.2.3 2020/11/13 02:46:48 raeburn Exp $ +# $Id: lonpage.pm,v 1.111.2.13.2.2 2022/07/08 16:29:33 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -102,7 +102,9 @@ sub tracetable { } else { $sofar++; if ($hash{'src_'.$rid}) { - my $brepriv=&Apache::lonnet::allowed('bre',$hash{'src_'.$rid}); + my ($mapid,$resid)=split(/\./,$rid); + my $symb = &Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$hash{'src_'.$rid}); + my $brepriv=&Apache::lonnet::allowed('bre',$hash{'src_'.$rid},$symb); if (($brepriv eq '2') || ($brepriv eq 'F')) { if (defined($rows[$sofar])) { $rows[$sofar].='&'.$rid; @@ -202,7 +204,7 @@ sub handler { my ($pagesymb,$courseid,$domain,$name)=&Apache::lonnet::whichuser(); unless ($pagesymb) { $pagesymb=&Apache::lonnet::symbread($requrl); - } + } if ($pagesymb && ($courseid ne '') && ($domain ne '') && ($name ne '')) { my %times=&Apache::lonnet::get('firstaccesstimes', [$courseid."\0".$pagesymb], @@ -743,7 +745,7 @@ ENDEXT $uniquetimes{$item} = 1; } } - if (scalar(keys(%uniquetimes)) == 1) { + if (scalar(keys(%uniquetimes)) == 1) { my (%uniquedisplays,%uniquedones,$currdisp,$donebuttontime, $donebuttonextras); if (keys(%countdowndisp)) { @@ -1043,7 +1045,7 @@ sub get_buttons { if (($hash->{'src_'.$rid}=~/$LONCAPA::assess_re/) && ($hash->{'src_'.$rid} !~ m-^/uploaded/-)) { - if ((&Apache::lonnet::allowed('mgr',$crs_sec)) || + if ((&Apache::lonnet::allowed('mgr',$crs_sec)) || (&Apache::lonnet::allowed('vgr',$crs_sec))) { $metainfo.= ''. '&command=gradingmenu">'. ''.&mt('Content Grades').''. - ''; - } - if ((&Apache::lonnet::allowed('opa',$crs_sec)) || + ''; + } + if ((&Apache::lonnet::allowed('opa',$crs_sec)) || (&Apache::lonnet::allowed('vpa',$crs_sec))) { $metainfo.= '