--- loncom/homework/bridgetask.pm 2006/11/27 20:42:42 1.208 +++ loncom/homework/bridgetask.pm 2006/12/01 22:53:08 1.213 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.208 2006/11/27 20:42:42 albertel Exp $ +# $Id: bridgetask.pm,v 1.213 2006/12/01 22:53:08 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1061,27 +1061,30 @@ DONEBUTTON $start_time=&Apache::lonlocal::locallocaltime($start_time); my $status = - "\n
\n\t"; + "\n
\n\t"; + my $dim = $top; + my %counts = &get_counts($dim,undef,$parstack, + $safeeval); + my $question_status ="\n\t

". + &question_status_message(\%counts,-1). + "

\n"; + if ($bt_status eq 'pass') { $status.='

You passed the '.$title.' given on '. $start_time.'

'; + $status.=$question_status; } if ($bt_status eq 'fail') { $status.='

You did not pass the '.$title.' given on '. $start_time.'

'; + $status.=$question_status; if (!$previous) { $status.=&add_request_another_attempt_button(); } } - $status.="\n".'
'."\n"; - my $dim = $top; - my %counts = &get_counts($dim,undef,$parstack, - $safeeval); - $status.="\n
\n\t

". - &question_status_message(\%counts,-1). - "

\n
\n"; + $status.="\n".'
'."\n"; foreach my $id (@{$dimension{$dim}{'criterias'}}) { my $type = $dimension{$dim}{'criteria.'.$id.'.type'}; @@ -1285,7 +1288,12 @@ DONEBUTTON [@_]); $criteria = &layout_webgrade_Criteria($dim,$id,$criteria); my $internal_location=&internal_location($id); - $result=~s/\Q$internal_location\E/$criteria/; + if ($result =~ m/\Q$internal_location\E/) { + $result=~s/\Q$internal_location\E/$criteria/; + } else { + $result.=$criteria; + } + } } $result.=""; @@ -2065,7 +2073,7 @@ sub start_Setup { my $dim = &get_id($parstack,$safeeval); push(@Apache::bridgetask::dimension,$dim); &Apache::lonxml::startredirection(); - return &internal_location($dim); + return;# &internal_location($dim); } { @@ -2245,13 +2253,15 @@ sub end_Dimension { } my $dim_info= "\n
\n\t"; - my $question = ('sub' x $dimension{$dim}{'depth'}).'question'; - $question =~ s/^(.)/uc($1)/e; + my $ucquestion = + my $question = + ('sub' x $dimension{$dim}{'depth'}).'question'; + $ucquestion =~ s/^(.)/uc($1)/e; if ($dim_status eq 'pass') { - $dim_info.='

'.$question.' : you passed the above '.$mandatory.' question

'; + $dim_info.='

'.$ucquestion.' : you passed the above '.$mandatory.' '.$question.'

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

'.$question.' : you did not pass the above '.$mandatory.' question

'; + $dim_info.='

'.$ucquestion.' : you did not pass the above '.$mandatory.' '.$question.'

'; } my %counts = &get_counts($dim,$instance,$parstack, $safeeval); @@ -2289,8 +2299,20 @@ sub end_Dimension { } } if ($result !~ /^\s*$/s) { - $result = "\n".'
'. - "\n".$result."\n
\n"; + # FIXME? this maybe unneccssary in the future, (CSE101 BT + # from Fall 2006 geenrate a div that attempts to hide some + # of the output in an odd way, this is a workaround so + # those old ones will continue to work. # It puts the + # LC_question div to come after any starting closie div + # that the dimension produces + if ($result =~ m{^\s*
}) { + $result =~ s{^(\s*)} + {$1\n
}; + } else { + $result = "\n".'
'. + "\n".$result; + } + $result .= "\n
\n"; } } elsif ($target eq 'webgrade') { # in case of any side effects that we need @@ -2314,7 +2336,11 @@ sub end_Dimension { [@_]); $criteria = &layout_webgrade_Criteria($dim,$id,$criteria); my $internal_location=&internal_location($id); - $result=~s/\Q$internal_location\E/$criteria/; + if ($result =~ m/\Q$internal_location\E/) { + $result =~ s/\Q$internal_location\E/$criteria/; + } else { + $result.=$criteria ; + } } } if (&nest()) { @@ -2408,7 +2434,7 @@ sub question_status_message { foreach my $type ('cri','dim') { if ($counts->{$req.'_'.$type}) { push(@sections, - $counts->{$req.'_'.$type.'_passed'}.' of '. + $counts->{$req.'_'.$type.'_passed'}.' of the '. $counts->{$req.'_'.$type}.' '. $req{$req}.' '.$type{$type}); }