Diff for /loncom/homework/bridgetask.pm between versions 1.83 and 1.85

version 1.83, 2005/11/21 22:42:22 version 1.85, 2005/11/22 20:01:12
Line 990  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 1236  sub lock_key { Line 1236  sub lock_key {
     return 0;      return 0;
 }  }
   
   sub get_users_in_queue {
       my ($queue,$symb,$cdom,$cnum) = @_;
       if (!defined($cdom) || !defined($cnum)) {
    my (undef,$cid)=&Apache::lonxml::whichuser();
    $cnum=$env{'course.'.$cid.'.num'};
    $cdom=$env{'course.'.$cid.'.domain'};
       }
       my $regexp="^$symb\0";
       my %queue=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp);
       my ($tmp)=%queue;
       if ($tmp=~/^error: 2 /) { return; }
       my @users;
       foreach my $key (sort(keys(%queue))) {
    next if ($key=~/locked$/);
    next if ($key=~/timestamp$/);
    my ($symb,$uname,$udom) = &decode_queue_key($key);
    push(@users,"$uname:$udom");
       }
       return @users;
   }
   
 sub get_from_queue {  sub get_from_queue {
     my ($queue)=@_;      my ($queue)=@_;
     my $result;      my $result;
Line 1319  sub select_user { Line 1340  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 1398  RESULT Line 1421  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.83  
changed lines
  Added in v.1.85


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