--- loncom/homework/caparesponse/caparesponse.pm 2008/09/12 09:56:10 1.232 +++ loncom/homework/caparesponse/caparesponse.pm 2008/09/20 00:25:39 1.234 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # caparesponse definition # -# $Id: caparesponse.pm,v 1.232 2008/09/12 09:56:10 raeburn Exp $ +# $Id: caparesponse.pm,v 1.234 2008/09/20 00:25:39 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -310,9 +310,6 @@ sub start_numericalresponse { $safeeval); if ($unit =~ /\S/) { $result.=" (in $unit) "; } } - if (($token->[1] eq 'formularesponse') && - ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER')) { - } if ( &Apache::response::show_answer() ) { &set_answertext($tag_internal_answer_name,$target,$token,$tagstack, $parstack,$parser,$safeeval,-1); @@ -430,8 +427,12 @@ sub check_submission { } } elsif ($tag eq 'numericalresponse') { $$args_ref{'type'}='float'; + } elsif ($tag eq 'stringresponse') { + if ($$args_ref{'type'} eq '') { + $$args_ref{'type'} = 'ci'; + } } - + &add_in_tag_answer($parstack,$safeeval); if (!%answer) { @@ -447,7 +448,7 @@ sub check_submission { use Time::HiRes; my $t0 = [Time::HiRes::gettimeofday()]; my ($result,@msgs) = - &Apache::run::run("&caparesponse_check_list($tag)",$safeeval); + &Apache::run::run("&caparesponse_check_list()",$safeeval); &Apache::lonxml::debug("checking $name $result with $response took ".&Time::HiRes::tv_interval($t0)); &Apache::lonxml::debug('msgs are '.join(':',@msgs)); my ($awards)=split(/:/,$result); @@ -609,7 +610,6 @@ sub end_numericalresponse { && ($Apache::lonhomework::type ne 'exam') && ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') && (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoneditor') ne 'no')){ $result.=&Apache::response::edit_mathresponse_button($id,"HWVAL_$id"); -#hier } &Apache::response::setup_prior_tries_hash(\&format_prior_response_numerical); @@ -1161,13 +1161,15 @@ sub end_stringresponse { my @args = ('type'); my $args_ref = &setup_capa_args($safeeval,$parstack, \@args,$response); - + if ($$args_ref{'type'} eq '') { + $$args_ref{'type'} = 'ci'; + } &add_in_tag_answer($parstack,$safeeval); my (@final_awards,@final_msgs,@names); foreach my $name (keys(%answer)) { &Apache::lonxml::debug(" doing $name with ".join(':',@{ $answer{$name}{'answers'} })); ${$safeeval->varglob('LONCAPA::CAPAresponse_answer')}=dclone($answer{$name}); - my ($result, @msgs)=&Apache::run::run("&caparesponse_check_list($$tagstack[-1])",$safeeval); + my ($result, @msgs)=&Apache::run::run("&caparesponse_check_list()",$safeeval); &Apache::lonxml::debug('msgs are'.join(':',@msgs)); my ($awards)=split(/:/,$result); my (@awards) = split(/,/,$awards);