--- loncom/homework/bridgetask.pm 2006/11/09 21:39:34 1.201
+++ loncom/homework/bridgetask.pm 2006/11/14 23:04:56 1.207
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: bridgetask.pm,v 1.201 2006/11/09 21:39:34 albertel Exp $
+# $Id: bridgetask.pm,v 1.207 2006/11/14 23:04:56 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2104,8 +2104,10 @@ sub start_Dimension {
}
push(@Apache::bridgetask::dimension,$dim);
&Apache::lonxml::startredirection();
- &enable_dimension_parsing($dim);
- return &internal_location($dim);
+ if (!&skip_dimension_parsing($dim)) {
+ &enable_dimension_parsing($dim);
+ }
+ return;# &internal_location($dim);
}
sub start_QuestionText {
@@ -2229,10 +2231,10 @@ sub end_Dimension {
my $question = ('sub' x $dimension{$dim}{'depth'}).'question';
$question =~ s/^(.)/uc($1)/e;
if ($dim_status eq 'pass') {
- $dim_info.='
'.$question.' : you passed this '.$mandatory.' question
';
+ $dim_info.=''.$question.' : you passed the above '.$mandatory.' question
';
}
if ($dim_status eq 'fail') {
- $dim_info.=''.$question.' : you did not pass this '.$mandatory.' question
';
+ $dim_info.=''.$question.' : you did not pass the above '.$mandatory.' question
';
}
my %counts = &get_counts($dim,$instance,$parstack,
$safeeval);
@@ -2246,19 +2248,33 @@ sub end_Dimension {
@{$dimension{$dim}{'criterias'}}) {
my $type = $dimension{$dim}{'criteria.'.$id.'.type'};
if ($type eq 'dimension') {
- $result.=$dimension{$id}{'result'};
- next;
+ if (defined($dimension{$id}{'result'})) {
+ $result.=$dimension{$id}{'result'};
+ next;
+ } else {
+ $dim_info .=
+ &nested_parse(\$dimension{$dim}{'criteria.'.$id},
+ [@_],{'set_dim_id' => $id});
+ }
+ } else {
+ my $criteria =
+ &nested_parse(\$dimension{$dim}{'criteria.'.$id},
+ [@_]);
+ $dim_info .= &layout_web_Criteria($dim,$id,$criteria);
}
- my $criteria =
- &nested_parse(\$dimension{$dim}{'criteria.'.$id},
- [@_]);
- $dim_info .= &layout_web_Criteria($dim,$id,$criteria);
}
+ # puts the results at the end of the dimension
+ $result .= $dim_info;
- my $internal_location=&internal_location($dim);
- $result=~s/\Q$internal_location\E/$dim_info/;
+ # puts the results at the beginning of the dimension
+ # my $internal_location=&internal_location($dim);
+ # $result=~s/\Q$internal_location\E/$dim_info/;
}
}
+ if ($result !~ /^\s*$/s) {
+ $result = "\n".''.
+ "\n".$result."\n
\n";
+ }
} elsif ($target eq 'webgrade') {
# in case of any side effects that we need
&nested_parse(\$dimension{$dim}{'intro'},[@_]);
@@ -2595,7 +2611,7 @@ sub start_Criteria {
$dimension{$dim}{'result'} .= &internal_location($id);
} else {
&Apache::lonxml::debug(" not stashing $dim $id");
- $result .= &internal_location($id);
+ #$result .= &internal_location($id);
}
}
&Apache::lonxml::debug("Criteria $id with $dim");
@@ -2633,7 +2649,10 @@ sub layout_web_Criteria {
$status_display=~s/^([a-z])/uc($1)/e;
my $criteria_info.=
''."\n\t".'
'
- .$mandatory.' Criteria
'."\n\t".'
'."\n";
+ .$mandatory.' Criteria'."\n\t".'
'
+ ."\n";
+ $criteria =~ s/^\s*//s;
+ $criteria =~ s/\s*$//s;
$criteria_info.= $criteria;
$criteria_info.="\n\t".'
'.
"\n\t".'
'.$status_display.'
';
@@ -2675,6 +2694,8 @@ sub layout_webgrade_Criteria {
END_BUTTON
}
+ $criteria =~ s/^\s*//s;
+ $criteria =~ s/\s*$//s;
my $result = <