--- loncom/homework/bridgetask.pm 2005/11/21 21:51:29 1.81 +++ loncom/homework/bridgetask.pm 2005/11/21 22:28:13 1.82 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.81 2005/11/21 21:51:29 albertel Exp $ +# $Id: bridgetask.pm,v 1.82 2005/11/21 22:28:13 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -478,7 +478,7 @@ DONESCREEN if ($status eq 'NEEDS_CHECKIN') { if(&proctor_check_auth($slot_name,$slot,'Task')) { my $result=&add_to_queue('gradingqueue', - $Apache::inputtags::slot_name); + [$Apache::inputtags::slot_name]); &Apache::lonxml::debug("add_to_queue said $result"); } } @@ -788,7 +788,7 @@ DONEBUTTON &Apache::lonhomework::showhash(%Apache::lonhomework::results); &Apache::structuretags::finalize_storage(); if ($award eq 'SUBMITTED') { - &add_to_queue('gradingqueue',$Apache::inputtags::slot_name); + &add_to_queue('gradingqueue',[$Apache::inputtags::slot_name]); } } elsif ($Apache::lonhomework::results{'INTERNAL_store'}) { &Apache::structuretags::finalize_storage(); @@ -925,7 +925,7 @@ sub move_between_queues { } else { $cur_data = ['none']; } - my $result=&add_to_queue($dest_queue,$cur_data->[0]); + my $result=&add_to_queue($dest_queue,[$cur_data->[0]]); if ($result ne 'ok') { return $result; } @@ -1010,13 +1010,16 @@ sub check_queue_for_key { } sub add_to_queue { - my ($queue,$slot_name)=@_; + my ($queue,$user_data)=@_; if ($queue eq 'none') { return 'ok'; } my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser(); + if (!$cid || $env{'request.state'} eq 'construct') { + return 'no_queue'; + } my $cnum=$env{'course.'.$cid.'.num'}; my $cdom=$env{'course.'.$cid.'.domain'}; my %data; - $data{"$symb\0queue\0$uname\@$udom"}=[$slot_name]; + $data{"$symb\0queue\0$uname\@$udom"}=$user_data; return &Apache::lonnet::newput($queue,\%data,$cdom,$cnum); }