--- loncom/homework/lonhomework.pm 2005/11/21 21:51:29 1.226 +++ loncom/homework/lonhomework.pm 2005/12/22 22:06:54 1.232 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.226 2005/11/21 21:51:29 albertel Exp $ +# $Id: lonhomework.pm,v 1.232 2005/12/22 22:06:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -171,8 +171,8 @@ sub proctor_checked_in { my $key; if ($type eq 'Task') { - my $version=$Apache::lonhomework::history{'resource.version'}; - $key ="resource.$version.checkedin"; + my $version=$Apache::lonhomework::history{'resource.0.version'}; + $key ="resource.$version.0.checkedin"; } elsif ($type eq 'problem') { $key ='resource.0.checkedin'; } @@ -260,8 +260,8 @@ sub check_slot_access { if ($type eq 'Task') { my $version=$Apache::lonhomework::history{'resource.version'}; - if ($Apache::lonhomework::history{"resource.$version.checkedin"} && - $Apache::lonhomework::history{"resource.$version.status"} eq 'pass') { + if ($Apache::lonhomework::history{"resource.$version.0.checkedin"} && + $Apache::lonhomework::history{"resource.$version.0.status"} eq 'pass') { return ('SHOW_ANSWER'); } } @@ -295,22 +295,23 @@ sub check_slot_access { $slotstatus='CAN_ANSWER'; } - my ($pass_status,$checkedin); + my ($got_grade,$checkedin); if ($type eq 'Task') { - my $version=$Apache::lonhomework::history{'resource.version'}; - $pass_status = - $Apache::lonhomework::history{"resource.$version.status"} eq 'fail'; + my $version=$Apache::lonhomework::history{'resource.0.version'}; + $got_grade = + ($Apache::lonhomework::history{"resource.$version.0.status"} + =~ /^(?:pass|fail)$/); $checkedin = - $Apache::lonhomework::history{"resource.$version.checkedin"}; + $Apache::lonhomework::history{"resource.$version.0.checkedin"}; } elsif ($type eq 'problem') { - $pass_status = 1; + $got_grade = 1; $checkedin = $Apache::lonhomework::history{"resource.0.checkedin"}; } if ($slotstatus eq 'NOT_IN_A_SLOT' && $checkedin ) { - if ($pass_status) { + if ($got_grade) { return ('SHOW_ANSWER'); } else { return ('WAITING_FOR_GRADE'); @@ -753,23 +754,28 @@ sub editxmlmode { my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef, ($env{'environment.remote'} ne 'off')); my $html=&Apache::lonxml::xmlbegin(); - $result.=$html.$bodytag. + my $head="EditXML $file". + &Apache::edit::js_change_detection().""; + + $result.=$html.$head.$bodytag. &renderpage($request,$file,['no_output_web'],1). &Apache::lonxml::message_location().' -
'. &Apache::structuretags::remember_problem_state().' - + +
-
' . $xml_help . ' - +
+ +
'; &Apache::lonxml::add_messages(\$result); $request->print($result);