--- loncom/homework/optionresponse.pm 2010/02/05 21:38:41 1.161 +++ loncom/homework/optionresponse.pm 2010/04/27 14:11:17 1.164 @@ -1,7 +1,7 @@ # LearningOnline Network with CAPA # option list style responses # -# $Id: optionresponse.pm,v 1.161 2010/02/05 21:38:41 www Exp $ +# $Id: optionresponse.pm,v 1.164 2010/04/27 14:11:17 onken Exp $ # # Copyright Michigan State University Board of Trustees # @@ -123,10 +123,21 @@ sub start_foilgroup { Delete an Option: + ENDTABLE - $result.= &Apache::edit::checked_arg('Print options:','texoptions', + $result.= ''.&Apache::edit::checked_arg('Print options:','texoptions', [ ['nochoice','Don\'t show option list'] ] - ,$token); + ,$token).''; + $result.= ''; $result.= &Apache::edit::end_row(); $result.= &Apache::edit::start_spanning_row(); $result.= $insertlist.'
'; @@ -151,7 +162,7 @@ ENDTABLE $optchanged=1; } my $rebuildtag = &Apache::edit::get_new_args($token,$parstack,$safeeval, - ('texoptions')); + 'texoptions','checkboxvalue'); if ($optchanged || $rebuildtag ) { $result = "[2]{'texoptions'}.'" '; + $result .= 'checkboxvalue="'.$token->[2]{'checkboxvalue'}.'"'; $result .= '>'; } # else nothing changed so just use the default mechanism } @@ -247,9 +259,21 @@ sub end_foilgroup { $responsestr; $Apache::lonhomework::results{"resource.$part.$id.submissiongrading"}=$gradestr; - if ($Apache::lonhomework::type eq 'survey') { + if (($Apache::lonhomework::type eq 'survey') || + ($Apache::lonhomework::type eq 'surveycred') || + ($Apache::lonhomework::type eq 'anonsurvey') || + ($Apache::lonhomework::type eq 'anonsurveycred')) { if ($ignored == 0) { - my $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED'; + my $ad; + if ($Apache::lonhomework::type eq 'anonsurveycred') { + $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS_CREDIT'; + } elsif ($Apache::lonhomework::type eq 'anonsurvey') { + $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS'; + } elsif ($Apache::lonhomework::type eq 'surveycred') { + $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED_CREDIT'; + } else { + $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED'; + } &Apache::response::handle_previous(\%previous,$ad); } elsif ($wrong==0 && $right==0) { } else { @@ -411,7 +435,11 @@ sub displayfoils { my $temp=1; foreach $name (@whichopt) { my $text=$Apache::response::foilgroup{$name.'.text'}; - my %lastresponse=&Apache::lonnet::str2hash($Apache::lonhomework::history{"resource.$part.$id.submission"}); + my $lastresp; + unless ((($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || ($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) && (defined($env{'form.grade_symb'}))) { + $lastresp = $Apache::lonhomework::history{"resource.$part.$id.submission"}; + } + my %lastresponse=&Apache::lonnet::str2hash($lastresp); my $lastopt=$lastresponse{$name}; if ($text!~/^\s*$/) { $break='
'; } $result.=$break; @@ -464,14 +492,16 @@ sub displayfoils { my $escopt=&HTML::Entities::encode($option,'\'"&<>'); if ($option eq $lastopt) { if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' - && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER' + && $Apache::lonhomework::type ne 'exam') { $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); } else { $optionlist.="\n"; } } else { if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' - && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER' + && $Apache::lonhomework::type ne 'exam') { $optionlist .= &Apache::lonxml::print_pdf_add_combobox_option($option); } else { $optionlist.="\n"; @@ -559,7 +589,8 @@ sub displayfoils { $internal_counter++; } if ($target eq 'tex' && $env{'form.pdfFormFields'} eq 'yes' - && $Apache::inputtags::status[-1] eq 'CAN_ANSWER') { + && $Apache::inputtags::status[-1] eq 'CAN_ANSWER' + && $Apache::lonhomework::type ne 'exam') { $text =~ s/\\item//m; $result .= " $optionlist ". &Apache::lonxml::print_pdf_end_combobox($text).'\strut \\\\'; $temp++;