--- loncom/homework/lonhomework.pm 2006/06/20 05:10:00 1.252 +++ loncom/homework/lonhomework.pm 2006/06/24 01:28:17 1.253 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.252 2006/06/20 05:10:00 albertel Exp $ +# $Id: lonhomework.pm,v 1.253 2006/06/24 01:28:17 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -621,6 +621,13 @@ sub setuppermissions { return ''; } +sub unset_permissions { + undef($Apache::lonhomework::queuegrade); + undef($Apache::lonhomework::modifygrades); + undef($Apache::lonhomework::viewgrades); + undef($Apache::lonhomework::browse); +} + sub setupheader { my $request=$_[0]; &Apache::loncommon::content_type($request,'text/html'); @@ -1020,10 +1027,15 @@ sub handler { if ($Apache::lonhomework::browse ne 'F' && $env{'request.state'} ne "construct") { #should know where we are, so ask - $request->internal_redirect('/adm/ambiguous'); return OK; + &unset_permissions(); + $request->internal_redirect('/adm/ambiguous'); + return OK; } } - if (&setupheader($request)) { return OK; } + if (&setupheader($request)) { + &unset_permissions(); + return OK; + } &Apache::lonxml::debug("Permissions:$Apache::lonhomework::browse:$Apache::lonhomework::viewgrades:$Apache::lonhomework::modifygrades:$Apache::lonhomework::queuegrade"); &Apache::lonxml::debug("Problem Mode ".$env{'form.problemmode'}); my ($symb) = &Apache::lonxml::whichuser(); @@ -1057,6 +1069,7 @@ sub handler { #&Apache::lonxml::debug("Spent $td seconds processing"); # always turn off debug messages $Apache::lonxml::debug=0; + &unset_permissions(); return OK; }