--- loncom/homework/lonhomework.pm 2005/04/07 06:56:21 1.204 +++ loncom/homework/lonhomework.pm 2005/05/03 00:05:41 1.206 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.204 2005/04/07 06:56:21 albertel Exp $ +# $Id: lonhomework.pm,v 1.206 2005/05/03 00:05:41 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -85,9 +85,14 @@ sub get_target { return ($env{'form.grade_target'}); } elsif ( defined($env{'form.grade_target'} ) && ($Apache::lonhomework::viewgrades eq 'F' )) { - return ($env{'form.grade_target'}); + if ($env{'form.grade_target'} eq 'webgrade') { + if ($Apache::lonhomework::modifygrades eq 'F' ) { + return ($env{'form.grade_target'}); + } + } else { + return ($env{'form.grade_target'}); + } } - if ( defined($env{'form.submitted'}) && ( !defined($env{'form.resetdata'})) && ( !defined($env{'form.newrandomization'}))) { @@ -240,7 +245,7 @@ sub check_task_access { # return ($status,$datemsg); # } my $slotstatus='NOT_IN_A_SLOT'; - my $returned_slot; + my ($returned_slot,$slot_name); foreach my $slot (@slots) { &Apache::lonxml::debug("getting $slot"); my %slot=&Apache::lonnet::get_slot($slot); @@ -251,6 +256,7 @@ sub check_task_access { &Apache::lonxml::debug("$slot is good"); $slotstatus='NEEDS_CHECKIN'; $returned_slot=\%slot; + $slot_name=$slot; last; } } @@ -259,7 +265,7 @@ sub check_task_access { &Apache::lonxml::debug("protoctor checked in"); $slotstatus='CAN_ANSWER'; } - return ($slotstatus,$datemsg,$returned_slot); + return ($slotstatus,$datemsg,$slot_name,$returned_slot); } # JB, 9/24/2002: Any changes in this function may require a change @@ -479,7 +485,16 @@ sub setuppermissions { &Apache::lonnet::devalidatecourseresdata($env{"course.$courseid.num"}, $env{"course.$courseid.domain"}); } - return '' + my $modifygrades = &Apache::lonnet::allowed('mgr',$env{'request.course.id'}); + if (! $modifygrades && + exists($env{'request.course.sec'}) && + $env{'request.course.sec'} !~ /^\s*$/) { + $modifygrades = + &Apache::lonnet::allowed('mgr',$env{'request.course.id'}. + '/'.$env{'request.course.sec'}); + } + $Apache::lonhomework::modifygrades = $modifygrades; + return ''; } sub setupheader {