--- loncom/homework/bridgetask.pm 2006/11/07 19:43:37 1.194 +++ loncom/homework/bridgetask.pm 2006/11/07 21:31:22 1.196 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.194 2006/11/07 19:43:37 albertel Exp $ +# $Id: bridgetask.pm,v 1.196 2006/11/07 21:31:22 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2097,8 +2097,10 @@ sub start_Dimension { &Apache::lonxml::get_param('Mandatory',$parstack,$safeeval); push(@{$dimension{$previous_dim}{'criterias'}},$dim); $dimension{$dim}{'nested'}=$previous_dim; + $dimension{$dim}{'depth'} = 1 + $dimension{$previous_dim}{'depth'}; &Apache::lonxml::debug("adding $dim as criteria to $previous_dim"); } else { + $dimension{$top}{'depth'}=0; $dimension{$top}{'criteria.'.$dim.'.type'}='dimension'; $dimension{$top}{'criteria.'.$dim.'.mandatory'}= &Apache::lonxml::get_param('Mandatory',$parstack,$safeeval); @@ -2227,11 +2229,14 @@ sub end_Dimension { $mandatory='Optional'; } my $dim_info="
\n"; + my $question = ('sub' x $dimension{$dim}{'depth'}).'question'; + my $ucquestion = $question; + $ucquestion =~ s/^(.)/uc($1)/e; if ($dim_status eq 'pass') { - $dim_info.='

Question : you passed this '.$mandatory.' question

'; + $dim_info.='

'.$ucquestion.' : you passed this '.$mandatory.' '.$question.'

'; } if ($dim_status eq 'fail') { - $dim_info.='

Question : you did not pass this '.$mandatory.' question

'; + $dim_info.='

'.$ucquestion.' : you did not pass this '.$mandatory.' '.$question.'

'; } my $man_count=0; my $man_passed=0; @@ -2284,7 +2289,7 @@ sub end_Dimension { $result.= &nested_parse(\$dimension{$dim}{'questiontext'},[@_], {'set_dim_id' => undef, - 'delayed_dim_results' => 0}); + 'delayed_dim_results' => 1}); foreach my $id (@{$dimension{$dim}{$instance.'.criterias'}}, @{$dimension{$dim}{'criterias'}} ) { my $type = $dimension{$dim}{'criteria.'.$id.'.type'}; @@ -2518,7 +2523,13 @@ sub start_Criteria { my $dim = &get_dim_id(); my $id=&get_id($parstack,$safeeval); if ($target eq 'web' || $target eq 'webgrade') { - $result .= &internal_location($id); + if ($target eq 'webgrade' && $dim ne 'top') { + &Apache::lonxml::debug(" for $dim $id stashing results into $dim "); + $dimension{$dim}{'result'} .= &internal_location($id); + } else { + &Apache::lonxml::debug(" not stashing $dim $id"); + $result .= &internal_location($id); + } } &Apache::lonxml::debug("Criteria $id with $dim"); if (&Apache::londefdef::is_inside_of($tagstack,'Instance')) {