--- loncom/homework/lonhomework.pm 2003/05/08 15:33:15 1.121 +++ loncom/homework/lonhomework.pm 2003/05/14 17:16:20 1.127 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.121 2003/05/08 15:33:15 albertel Exp $ +# $Id: lonhomework.pm,v 1.127 2003/05/14 17:16:20 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -50,7 +50,7 @@ use Apache::essayresponse(); use Apache::externalresponse(); use Apache::rankresponse(); use Apache::matchresponse(); -use Apache::chemresponse(); +#use Apache::chemresponse(); use Apache::Constants qw(:common); use HTML::Entities(); use Apache::loncommon(); @@ -61,7 +61,8 @@ BEGIN { } sub get_target { - if ( $ENV{'request.state'} eq "published") { + if (($ENV{'request.state'} eq "published") || + ($ENV{'request.state'} eq "uploaded")) { if ( defined($ENV{'form.grade_target'} ) && ($ENV{'form.grade_target'} eq 'tex')) { return ($ENV{'form.grade_target'}); @@ -214,7 +215,8 @@ sub check_access { if ( $tries eq '' ) { $tries = '0'; } if ( $maxtries eq '' ) { $maxtries = '2'; } if ($tries >= $maxtries) { $status = 'CANNOT_ANSWER'; } - if($Apache::lonhomework::history{"resource.$id.solved"}=~/^correct/) { + if($Apache::lonhomework::history{"resource.$id.solved"}=~/^correct/ + && lc($Apache::lonhomework::problemstatus) ne 'no') { $status = 'CANNOT_ANSWER'; } } @@ -284,7 +286,14 @@ sub showhashsubset { sub setuppermissions { $Apache::lonhomework::browse= &Apache::lonnet::allowed('bre',$ENV{'request.filename'}); - $Apache::lonhomework::viewgrades=&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'}); + my $viewgrades = &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'}); + if (! $viewgrades && + exists($ENV{'request.course.sec'}) && + $ENV{'request.course.sec'} !~ /^\s*$/) { + $viewgrades = &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'}. + '/'.$ENV{'request.course.sec'}); + } + $Apache::lonhomework::viewgrades = $viewgrades; return '' }