--- loncom/homework/bridgetask.pm 2006/05/30 12:45:36 1.158
+++ loncom/homework/bridgetask.pm 2006/06/01 19:22:29 1.160
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: bridgetask.pm,v 1.158 2006/05/30 12:45:36 www Exp $
+# $Id: bridgetask.pm,v 1.160 2006/06/01 19:22:29 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -43,7 +43,7 @@ use LONCAPA;
BEGIN {
- &Apache::lonxml::register('Apache::bridgetask',('Task','IntroParagraph','Dimension','Question','Instance','InstanceText','Criteria','ClosingParagraph'));
+ &Apache::lonxml::register('Apache::bridgetask',('Task','IntroParagraph','Dimension','Question','QuestionText','Instance','InstanceText','Criteria','ClosingParagraph'));
}
sub initialize_bridgetask {
@@ -1257,12 +1257,20 @@ sub show_queue {
my %queue=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp);
my ($tmp)=%queue;
if ($tmp=~/^error: 2 /) {
- return "\n
Current Queue - $queue
";
+ return "\nCurrent Queue - $queue
".
+ &Apache::loncommon::start_data_table().
+ &Apache::loncommon::start_data_table_row().
+ ''.&mt('Empty').' | '.
+ &Apache::loncommon::end_data_table_row().
+ &Apache::loncommon::end_data_table();
}
my $title=&Apache::lonnet::gettitle($symb);
- $result.="\nCurrent Queue - $title $queue
";
+ $result.="\nCurrent Queue - $title $queue
".
+ &Apache::loncommon::start_data_table().
+ &Apache::loncommon::start_data_table_header_row();
if ($with_selects) { $result.="Status | | "; }
- $result.="user | data |
";
+ $result.="user | data | ".
+ &Apache::loncommon::end_data_table_header_row();
foreach my $key (sort(keys(%queue))) {
my ($symb,$uname,$udom) = &decode_queue_key($key);
if (!defined($classlist->{$uname.':'.$udom})) { next; }
@@ -1277,14 +1285,15 @@ sub show_queue {
}
if ($key=~/locked$/ && !$with_selects) {
- $result.="$uname | ";
+ $result.= &Apache::loncommon::start_data_table_row().
+ "$uname | ";
$result.=''.$queue{$key}.' |
';
} elsif ($key=~/timestamp$/ && !$with_selects) {
- $result.=" | ";
+ $result.=&Apache::loncommon::start_data_table_row()." | ";
$result.=''.
&Apache::lonlocal::locallocaltime($queue{$key})." |
";
} elsif ($key!~/(timestamp|locked)$/) {
- $result.="";
+ $result.= &Apache::loncommon::start_data_table_row();
my ($end_time,$slot_text);
if (my $slot=&slotted_access($queue{$key})) {
my %slot_data=&Apache::lonnet::get_slot($slot);
@@ -1336,10 +1345,10 @@ FORM
" ($uname:$udom) ";
$result.=''.$slot_text.' End time: '.
&Apache::lonlocal::locallocaltime($end_time).
- " |
";
+ "".&Apache::loncommon::end_data_table_row();
}
}
- $result.="
\n";
+ $result.= &Apache::loncommon::end_data_table()."
\n";
return $result;
}
@@ -1643,7 +1652,7 @@ sub select_user {
$result.=' Showing only sections '.join(', ',@chosen_sections).
'.
'."\n";
}
- $result.='';
+ $result.=&Apache::loncommon::start_data_table();
foreach my $student (sort {lc($classlist->{$a}[&Apache::loncoursedata::CL_FULLNAME()]) cmp lc($classlist->{$b}[&Apache::loncoursedata::CL_FULLNAME()]) } (keys(%$classlist))) {
my ($uname,$udom) = split(/:/,$student);
@@ -1668,7 +1677,8 @@ sub select_user {
my $todo =
&escape(&encode_queue_key($symb,$udom,$uname));
if ($cannot_grade) {
- $result.=' | '.$classlist->{$student}[&Apache::loncoursedata::CL_FULLNAME()].
+ $result.=&Apache::loncommon::start_data_table_row().
+ ' | | '.$classlist->{$student}[&Apache::loncoursedata::CL_FULLNAME()].
' | ';
} else {
my $seclist;
@@ -1676,8 +1686,8 @@ sub select_user {
$seclist.='';
}
+ $result.=&Apache::loncommon::start_data_table_row();
$result.=<
| |
';
+ $result.= ''.&Apache::loncommon::end_data_table_row();
}
- $result.='
';
+ $result.=&Apache::loncommon::end_data_table();
return $result;
}
@@ -1795,6 +1805,20 @@ sub start_Dimension {
return &internal_location($dim_id);
}
+sub start_QuestionText {
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $dim_id=$Apache::bridgetask::dimension;
+ my $text=&Apache::lonxml::get_all_text('/questiontext',$parser,$style);
+ if ($target eq 'grade' || $target eq 'web' || $target eq 'webgrade') {
+ $dimension{'questiontext'}=$text;
+ }
+ return '';
+}
+
+sub end_QuestionText {
+ return '';
+}
+
sub get_instance {
my ($dim)=@_;
my $rand_alg=&Apache::lonnet::get_rand_alg();
@@ -1855,9 +1879,12 @@ sub get_instance {
if (&Apache::response::showallfoils()) {
@instances = @{$dimension{'instances'}};
}
+ my $shown_question_text;
foreach my $instance (@instances) {
@Apache::scripttag::parser_env = @_;
$result.=&Apache::scripttag::xmlparse($dimension{$instance.'.text'});
+ @Apache::scripttag::parser_env = @_;
+ $result.=&Apache::scripttag::xmlparse($dimension{'questiontext'});
if ($Apache::lonhomework::history{"resource.$version.0.status"} eq 'pass' ||
$Apache::lonhomework::history{"resource.$version.0.status"} eq 'fail') {
@@ -1942,6 +1969,8 @@ sub get_instance {
&Apache::scripttag::xmlparse($dimension{'intro'});
@Apache::scripttag::parser_env = @_;
&Apache::scripttag::xmlparse($dimension{$instance.'.text'});
+ @Apache::scripttag::parser_env = @_;
+ &Apache::scripttag::xmlparse($dimension{'questiontext'});
foreach my $id (@{$dimension{$instance.'.criterias'}},
@{$dimension{'criterias'}} ) {
my $link=&link($id);
@@ -1977,11 +2006,14 @@ sub get_instance {
@Apache::scripttag::parser_env = @_;
$result.=&Apache::scripttag::xmlparse($dimension{'intro'});
+ @Apache::scripttag::parser_env = @_;
+ $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.text'});
+ @Apache::scripttag::parser_env = @_;
+ &Apache::scripttag::xmlparse($dimension{'questiontext'});
+
foreach my $id (@{$dimension{$instance.'.criterias'}},
@{$dimension{'criterias'}}) {
my $link=&link($id);
- @Apache::scripttag::parser_env = @_;
- $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.text'});
my $status=$Apache::lonhomework::results{"resource.$version.0.$dim.$id.status"}=$env{'form.HWVAL_'.$link};
$Apache::lonhomework::results{"resource.$version.0.$dim.$id.comment"}=$env{'form.HWVAL_comment_'.$link};
my $mandatory=($dimension{'criteria.'.$id.'.mandatory'} ne 'N');