--- loncom/homework/lonhomework.pm 2006/02/16 01:24:39 1.235 +++ loncom/homework/lonhomework.pm 2006/05/09 19:03:02 1.243 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.235 2006/02/16 01:24:39 albertel Exp $ +# $Id: lonhomework.pm,v 1.243 2006/05/09 19:03:02 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -143,12 +143,6 @@ sub setup_vars { # return ';$external::target='.$target.';'; } -sub send_header { - my ($request)= @_; - $request->print(&Apache::lontexconvert::header()); -# $request->print('
'); - $request->print(&Apache::lontexconvert::footer()); -} - sub proctor_checked_in { my ($slot_name,$slot,$type)=@_; my @possible_proctors=split(",",$slot->{'proctor'}); @@ -246,7 +234,7 @@ sub check_slot_access { my ($status,$datemsg)=&check_access($id); my $useslots = &Apache::lonnet::EXT("resource.$id.useslots"); - if ($useslots ne 'resource') { + if ($useslots ne 'resource' && $useslots ne 'sequence') { return ($status,$datemsg); } @@ -278,6 +266,7 @@ sub check_slot_access { my $slotstatus='NOT_IN_A_SLOT'; my ($returned_slot,$slot_name); foreach my $slot (@slots) { + $slot =~ s/(^\s*|\s*$)//g; &Apache::lonxml::debug("getting $slot"); my %slot=&Apache::lonnet::get_slot($slot); &Apache::lonhomework::showhash(%slot); @@ -315,6 +304,14 @@ sub check_slot_access { &Apache::lonxml::debug(" slot is $slotstatus checkedin ($checkedin) got_grade ($got_grade) is_correct ($is_correct)"); + # no slot is currently open, and has been checked in for this version + # but hasn't got a grade, therefore must be awaiting a grade + if (!defined($slot_name) + && $checkedin + && !$got_grade) { + return ('WAITING_FOR_GRADE'); + } + if ($slotstatus eq 'NOT_IN_A_SLOT' && $checkedin ) { @@ -627,12 +624,11 @@ sub handle_save_or_undo { sub analyze_header { my ($request) = @_; - my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef, - ($env{'environment.remote'} ne 'off')); - my $html=&Apache::lonxml::xmlbegin(); - my $result.=$html.' -