Diff for /loncom/homework/bridgetask.pm between versions 1.82 and 1.84

version 1.82, 2005/11/21 22:28:13 version 1.84, 2005/11/21 23:00:19
Line 476  DONESCREEN Line 476  DONESCREEN
  }   }
     } elsif ($target eq 'grade' && !$env{'form.webgrade'}) {      } elsif ($target eq 'grade' && !$env{'form.webgrade'}) {
  if ($status eq 'NEEDS_CHECKIN') {   if ($status eq 'NEEDS_CHECKIN') {
     if(&proctor_check_auth($slot_name,$slot,'Task')) {      if(&proctor_check_auth($slot_name,$slot,'Task')
          && defined($Apache::inputtags::slot_name)) {
  my $result=&add_to_queue('gradingqueue',   my $result=&add_to_queue('gradingqueue',
  [$Apache::inputtags::slot_name]);   [$Apache::inputtags::slot_name]);
  &Apache::lonxml::debug("add_to_queue said $result");   &Apache::lonxml::debug("add_to_queue said $result");
Line 787  DONEBUTTON Line 788  DONEBUTTON
     }      }
     &Apache::lonhomework::showhash(%Apache::lonhomework::results);      &Apache::lonhomework::showhash(%Apache::lonhomework::results);
     &Apache::structuretags::finalize_storage();      &Apache::structuretags::finalize_storage();
     if ($award eq 'SUBMITTED') {      if ($award eq 'SUBMITTED'
    && defined($Apache::inputtags::slot_name)) {
  &add_to_queue('gradingqueue',[$Apache::inputtags::slot_name]);   &add_to_queue('gradingqueue',[$Apache::inputtags::slot_name]);
     }      }
  } elsif ($Apache::lonhomework::results{'INTERNAL_store'}) {   } elsif ($Apache::lonhomework::results{'INTERNAL_store'}) {
Line 988  sub get_queue_data { Line 990  sub get_queue_data {
     return undef;      return undef;
 }  }
   
   
 sub check_queue_for_key {  sub check_queue_for_key {
     my ($cid,$queue,$todo)=@_;      my ($cdom,$cnum,$queue,$todo)=@_;
     my $cnum=$env{'course.'.$cid.'.num'};  
     my $cdom=$env{'course.'.$cid.'.domain'};  
     my %results=      my %results=
  &Apache::lonnet::get($queue,[$todo,"$todo\0locked"],$cdom,$cnum);   &Apache::lonnet::get($queue,[$todo,"$todo\0locked"],$cdom,$cnum);
           
Line 1020  sub add_to_queue { Line 1022  sub add_to_queue {
     my $cdom=$env{'course.'.$cid.'.domain'};      my $cdom=$env{'course.'.$cid.'.domain'};
     my %data;      my %data;
     $data{"$symb\0queue\0$uname\@$udom"}=$user_data;      $data{"$symb\0queue\0$uname\@$udom"}=$user_data;
     return &Apache::lonnet::newput($queue,\%data,$cdom,$cnum);      return &Apache::lonnet::cput($queue,\%data,$cdom,$cnum);
 }  }
   
 sub show_queue {  sub show_queue {
Line 1245  sub get_from_queue { Line 1247  sub get_from_queue {
     if ($todo) { return $todo; }      if ($todo) { return $todo; }
     while (1) {      while (1) {
  my $starttime=time;   my $starttime=time;
  &Apache::lonnet::put($queue,{"$symb\0timestamp"=>$starttime},   &Apache::lonnet::cput($queue,{"$symb\0timestamp"=>$starttime},
      $cdom,$cnum);        $cdom,$cnum);
  &Apache::lonxml::debug("$starttime");   &Apache::lonxml::debug("$starttime");
  my $regexp="^$symb\0queue\0";   my $regexp="^$symb\0queue\0";
  my %queue=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp);   my %queue=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp);
Line 1317  sub select_user { Line 1319  sub select_user {
     foreach my $student (sort {lc($$fullname{$a}) cmp lc($$fullname{$b}) } keys %$fullname) {      foreach my $student (sort {lc($$fullname{$a}) cmp lc($$fullname{$b}) } keys %$fullname) {
  my ($uname,$udom) = split(/:/,$student);   my ($uname,$udom) = split(/:/,$student);
   
  my %status = &get_student_status($symb,$cid,$udom,$uname);   my $cnum=$env{'course.'.$cid.'.num'};
    my $cdom=$env{'course.'.$cid.'.domain'};
    my %status = &get_student_status($symb,$cdom,$cnum,$udom,$uname);
  my $queue = 'none';   my $queue = 'none';
  my $cannot_grade;   my $cannot_grade;
  if ($status{'reviewqueue'} =~ /^(in_progress|enqueue)$/) {   if ($status{'reviewqueue'} =~ /^(in_progress|enqueue)$/) {
Line 1396  RESULT Line 1400  RESULT
 }  }
   
 sub get_student_status {  sub get_student_status {
     my ($symb,$cid,$udom,$uname)=@_;      my ($symb,$cdom,$cnum,$udom,$uname)=@_;
     my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},      my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},
   $udom,$uname);    $udom,$uname);
     my %status;      my %status;
     $status{'status'}=$record{'resource.status'};      $status{'status'}=$record{'resource.status'};
     $status{'version'}=$record{'resource.version'};      $status{'version'}=$record{'resource.version'};
     $status{'grader'}=$record{'resource.grader'};      $status{'grader'}=$record{'resource.grader'};
     $status{'reviewqueue'}=&check_queue_for_key($cid,'reviewqueue',      $status{'reviewqueue'}=&check_queue_for_key($cdom,$cnum,'reviewqueue',
        &encode_queue_key($symb,$udom,$uname));         &encode_queue_key($symb,$udom,$uname));
     $status{'gradingqueue'}=&check_queue_for_key($cid,'gradingqueue',      $status{'gradingqueue'}=&check_queue_for_key($cdom,$cnum,'gradingqueue',
        &encode_queue_key($symb,$udom,$uname));         &encode_queue_key($symb,$udom,$uname));
     return %status;      return %status;
 }  }

Removed from v.1.82  
changed lines
  Added in v.1.84


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>