--- loncom/homework/bridgetask.pm 2009/05/06 16:19:26 1.249 +++ loncom/homework/bridgetask.pm 2010/04/01 00:37:15 1.251 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.249 2009/05/06 16:19:26 bisitz Exp $ +# $Id: bridgetask.pm,v 1.251 2010/04/01 00:37:15 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1308,8 +1308,25 @@ DONEBUTTON $Apache::lonhomework::results{"resource.$version.0.solved"}; } &minimize_storage(); - &Apache::structuretags::finalize_storage(); - + my $canstore; + if ($env{'form.gradingkey'}) { + my ($symb,$courseid,$domain,$name) = + &Apache::lonnet::whichuser(); + my $todo=&unescape($env{'form.gradingkey'}); + my ($keysymb,$uname,$udom)=&decode_queue_key($todo); + if ($symb eq $keysymb) { + if (($domain eq $udom) && ($name eq $uname)) { + $canstore = 1; + } + } + } + if ($canstore) { + &Apache::structuretags::finalize_storage(); + } else { + $result .= '
'. + &mt('Information extracted from the current gradingkey was for a different BT or user from those for which grading data are to be stored.').' '.&mt('No grading changes stored.').'

'; + } + # data stored, now handle queue if ($review) { if ($env{'form.queue'} eq 'reviewqueue') { @@ -1395,6 +1412,13 @@ DONEBUTTON } &Apache::structuretags::reset_problem_globals('Task'); undef($Apache::lonhomework::parsing_a_task); + if ( ($target eq 'grade' && $env{'form.webgrade'}) || + $target eq 'webgrade') { + delete($env{'form.grade_symb'}); + delete($env{'form.grade_domain'}); + delete($env{'form.grade_username'}); + delete($env{'form.grade_courseid'}); + } return $result; } @@ -3157,7 +3181,7 @@ sub proctor_validation_screen { 'vali' => 'Validate', 'stui' => "Student who should be logged in is:", 'name' => "Name:", - 'sid' => "Student/Employee ID:", + 'sid' => "Student/Employee ID", 'unam' => "Username:", ); my $result= (<