--- loncom/homework/optionresponse.pm 2002/10/28 14:27:27 1.56 +++ loncom/homework/optionresponse.pm 2002/10/28 23:31:48 1.57 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.56 2002/10/28 14:27:27 sakharuk Exp $ +# $Id: optionresponse.pm,v 1.57 2002/10/28 23:31:48 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,6 +42,7 @@ sub start_optionresponse { &Apache::lonxml::register('Apache::optionresponse',('foilgroup','foil','conceptgroup')); push (@Apache::lonxml::namespace,'optionresponse'); my $id = &Apache::response::start_response($parstack,$safeeval); + %Apache::hint::option=(); if ($target eq 'edit') { $result.=&Apache::edit::start_table($token). "Multiple Option Response QuestionDelete:". @@ -179,6 +180,7 @@ sub end_foilgroup { my @whichopt = &whichfoils($max,$randomize); my $temp=1;my $name; my %responsehash; + my %grade; my $right=0; my $wrong=0; my $ignored=0; @@ -188,7 +190,11 @@ sub end_foilgroup { if ( $response =~ /[^\s]/) { my $value=$Apache::response::foilgroup{$name.'.value'}; &Apache::lonxml::debug("submitted a $response for $value
\n"); - if ($value eq $response) {$right++;} else {$wrong++;} + if ($value eq $response) { + $grade{$name}='1'; $right++; + } else { + $grade{$name}='0'; $wrong++; + } } else { $ignored++; } @@ -197,6 +203,7 @@ sub end_foilgroup { my $part=$Apache::inputtags::part; my $id = $Apache::inputtags::response['-1']; my $responsestr=&Apache::lonnet::hash2str(%responsehash); + my $gradestr =&Apache::lonnet::hash2str(%grade); my %previous=&Apache::response::check_for_previous($responsestr, $part,$id); &Apache::lonxml::debug("Got $right right and $wrong wrong, and $ignored were ignored"); @@ -214,6 +221,7 @@ sub end_foilgroup { } $Apache::lonhomework::results{"resource.$part.$id.submission"}= $responsestr; + $Apache::lonhomework::results{"resource.$part.$id.submissiongrading"}=$gradestr; $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}= $ad; &Apache::response::handle_previous(\%previous,$ad); @@ -498,6 +506,12 @@ sub end_conceptgroup { $Apache::lonhomework::analyze{"$part_id.foil.location.$name"} = $Apache::response::conceptgroup{"$name.location"}; } + } elsif ($target eq 'web') { + my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]"; + push(@{ $Apache::hint::option{"$part_id.concepts"} }, + $concept); + $Apache::hint::option{"$part_id.concept.$concept"}= + $Apache::response::conceptgroup{'names'}; } } } elsif ($target eq 'edit') {