--- 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});
}