--- loncom/homework/bridgetask.pm 2005/04/29 21:22:33 1.13
+++ loncom/homework/bridgetask.pm 2005/05/03 05:31:51 1.15
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: bridgetask.pm,v 1.13 2005/04/29 21:22:33 albertel Exp $
+# $Id: bridgetask.pm,v 1.15 2005/05/03 05:31:51 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -52,6 +52,8 @@ sub initialize_bridgetask {
@Apache::bridgetask::instance=();
# list of all Instance ids seen in this problem
@Apache::bridgetask::instancelist=();
+ # key of queud user data that we are currently grading
+ $Apache::bridgetask::queue_key='';
}
sub proctor_check_auth {
@@ -112,9 +114,10 @@ sub start_Task {
}
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
$target eq 'tex') {
- ($status,$accessmsg,$slot) =
+ ($status,$accessmsg,my $slot_name,$slot) =
&Apache::lonhomework::check_task_access('0');
push(@Apache::inputtags::status,$status);
+ $Apache::inputtags::slot_name=$slot_name;
my $expression='$external::datestatus="'.$status.'";';
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.0.solved"}.'";';
&Apache::run::run($expression,$safeeval);
@@ -173,8 +176,22 @@ sub start_Task {
}
}
} elsif ($target eq 'webgrade') {
- $result.=$head_tag_start.$body_tag_start.$form_tag_start.
- 'Yahoo!';
+ $result.=$head_tag_start.$body_tag_start.$form_tag_start;
+ $result.=&show_queue();
+ my $todo=&get_from_queue();
+ if ($todo) {
+ my ($symb,$uname,$udom)=&decode_queue_key($todo);
+ $result.="\n".'
Found'.
+ $symb.':'.$uname.':'.$udom.' |
';
+ $result.='';
+ $Apache::bridgetask::queue_key=$todo;
+ } else {
+ $result.="\n".
+ '';
+ my $bodytext=&Apache::lonxml::get_all_text("/task",$parser);
+ }
+
} else {
# page_start returned a starting result, delete it if we don't need it
$result = '';
@@ -187,14 +204,14 @@ sub end_Task {
my $result='';
my $status=$Apache::inputtags::status['-1'];
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' ||
- $target eq 'tex' || $target eq 'webgrade') {
+ $target eq 'tex') {
if (
(($target eq 'web') && ($env{'request.state'} ne 'construct')) ||
($target eq 'answer') || ($target eq 'tex')
) {
if ($target eq 'web') {
if ($status eq 'CAN_ANSWER') {
- $result.=''.
+ $result.="\n".''.
&Apache::inputtags::file_selector('0',"bridgetask","*",
'portfolioonly').
"
";
@@ -207,14 +224,28 @@ sub end_Task {
}
if ($target eq 'grade') {
my $award='SUBMITTED';
- &Apache::essayresponse::file_submission('0','bridgetask','portfiles',$award);
- if ($Apache::lonhomework::results{"resource.0.bridgetask.portfiles"}) {
+ &Apache::essayresponse::file_submission('0','bridgetask','portfiles',\$award);
+ if ($award eq 'SUBMITTED' &&
+ $Apache::lonhomework::results{"resource.0.bridgetask.portfiles"}) {
$Apache::lonhomework::results{"resource.0.tries"}=
1+$Apache::lonhomework::history{"resource.0.tries"};
}
+ $Apache::lonhomework::results{"resource.0.award"}=$award;
&Apache::lonhomework::showhash(%Apache::lonhomework::results);
&Apache::structuretags::finalize_storage();
+ if ($award eq 'SUBMITTED') {
+ &add_to_queue();
+ }
}
+ } elsif ($target eq 'webgrade') {
+ $result.="\n
";
+ $result.=' ';
+ $result.=' ';
+ $result.=' ';
+ $result.=''.&Apache::loncommon::endbodytag().'