--- loncom/homework/lonhomework.pm 2005/05/10 20:58:38 1.208 +++ loncom/homework/lonhomework.pm 2005/06/04 07:47:51 1.210 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.208 2005/05/10 20:58:38 albertel Exp $ +# $Id: lonhomework.pm,v 1.210 2005/06/04 07:47:51 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -242,20 +242,21 @@ sub check_task_access { return ($status,$datemsg); } my $version=$Apache::lonhomework::history{'resource.version'}; - if ($Apache::lonhomework::history{"resource.$version.checkedin"}) { - if ($Apache::lonhomework::history{"resource.$version.status"} eq 'pass' || - $Apache::lonhomework::history{"resource.$version.status"} eq 'fail') { - return ('SHOW_ANSWER'); - } + if ($Apache::lonhomework::history{"resource.$version.checkedin"} && + $Apache::lonhomework::history{"resource.$version.status"} eq 'pass') { + return ('SHOW_ANSWER'); } my ($id)=@_; - my @slots=split(':',&Apache::lonnet::EXT("resource.$id.available")); + my @slots= + (split(':',&Apache::lonnet::EXT("resource.$id.availablestudent")), + split(':',&Apache::lonnet::EXT("resource.$id.available"))); + # if (!@slots) { # return ($status,$datemsg); # } my $slotstatus='NOT_IN_A_SLOT'; my ($returned_slot,$slot_name); - foreach my $slot (sort(@slots)) { + foreach my $slot (@slots) { &Apache::lonxml::debug("getting $slot"); my %slot=&Apache::lonnet::get_slot($slot); &Apache::lonhomework::showhash(%slot); @@ -274,9 +275,13 @@ sub check_task_access { &Apache::lonxml::debug("protoctor checked in"); $slotstatus='CAN_ANSWER'; } - if ( ($slotstatus eq 'NOT_IN_A_SLOT' || $slotstatus eq 'NEEDS_CHECKIN') && + if ( $slotstatus eq 'NOT_IN_A_SLOT' && $Apache::lonhomework::history{"resource.$version.checkedin"}) { - return ('WAITING_FOR_GRADE'); + if ($Apache::lonhomework::history{"resource.$version.status"} eq 'fail') { + return ('SHOW_ANSWER'); + } else { + return ('WAITING_FOR_GRADE'); + } } return ($slotstatus,$datemsg,$slot_name,$returned_slot); }