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

version 1.85, 2005/11/22 20:01:12 version 1.86, 2005/12/01 18:19:17
Line 956  sub check_queue_unlock { Line 956  sub check_queue_unlock {
 }  }
   
 sub remove_from_queue {  sub remove_from_queue {
     my ($queue)=@_;      my ($queue,$symb,$cdom,$cnum,$udom,$uname)=@_;
     if ($queue eq 'none') { return 'ok'; }      if ($queue eq 'none') { return 'ok'; }
     my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser();      if (!defined($symb) || !defined($cdom) || !defined($cnum)
     my $cnum=$env{'course.'.$cid.'.num'};   || !defined($udom) || !defined($uname)) {
     my $cdom=$env{'course.'.$cid.'.domain'};   ($symb,my $cid,$udom,$uname)=&Apache::lonxml::whichuser();
     my $key="$symb\0queue\0$uname\@$udom";   $cnum=$env{'course.'.$cid.'.num'};
    $cdom=$env{'course.'.$cid.'.domain'};
       }
       my $key=&encode_queue_key($symb,$udom,$uname);
     my @keys=($key,"$key\0locked");      my @keys=($key,"$key\0locked");
       &Apache::lonnet::logthis("removing @keys");
     return &Apache::lonnet::del($queue,\@keys,$cdom,$cnum);      return &Apache::lonnet::del($queue,\@keys,$cdom,$cnum);
 }  }
   
Line 1001  sub check_queue_for_key { Line 1005  sub check_queue_for_key {
  if (defined($results{"$todo\0locked"})) {   if (defined($results{"$todo\0locked"})) {
     return 'locked';      return 'locked';
  }   }
  my $slot=$results{$todo}->[0];   my $slot;
  my %slot_data=&Apache::lonnet::get_slot($slot);   if (ref($results{$todo}) eq 'ARRAY')  {
  if ($slot_data{'endtime'} > time) {       $slot = $results{$todo}[0];
     return 'in_progress';   } elsif (ref($results{$todo}) eq 'HASH')  {
       $slot = $results{$todo}{'slot'};
    }
    if (defined($slot)) {
       my %slot_data=&Apache::lonnet::get_slot($slot);
       if ($slot_data{'endtime'} > time) { 
    return 'in_progress';
       }
  }   }
  return 'enqueued';   return 'enqueued';
     }      }
Line 1048  sub show_queue { Line 1059  sub show_queue {
     if ($tmp=~/^error: 2 /) {      if ($tmp=~/^error: 2 /) {
  return "\n<h3>Current Queue - $queue</h3><table border='1'><tr><td>Empty</td></tr></table>";   return "\n<h3>Current Queue - $queue</h3><table border='1'><tr><td>Empty</td></tr></table>";
     }      }
     $result.="\n<h3>Current Queue - $queue </h3><table border='1'><tr>";      $result.="\n<h3>Current Queue - $symb $queue </h3><table border='1'><tr>";
     if ($with_selects) { $result.="<th></th>"; }      if ($with_selects) { $result.="<th></th>"; }
     $result.="<th>resource</th><th>user</th><th>type</th><th>data</th></tr>";      $result.="<th>resource</th><th>user</th><th>type</th><th>data</th></tr>";
     foreach my $key (sort(keys(%queue))) {      foreach my $key (sort(keys(%queue))) {
Line 1236  sub lock_key { Line 1247  sub lock_key {
     return 0;      return 0;
 }  }
   
 sub get_users_in_queue {  sub get_queue_symb_status {
     my ($queue,$symb,$cdom,$cnum) = @_;      my ($queue,$symb,$cdom,$cnum) = @_;
     if (!defined($cdom) || !defined($cnum)) {      if (!defined($cdom) || !defined($cnum)) {
  my (undef,$cid)=&Apache::lonxml::whichuser();   my (undef,$cid)=&Apache::lonxml::whichuser();
Line 1421  RESULT Line 1432  RESULT
 }  }
   
 sub get_student_status {  sub get_student_status {
     my ($symb,$cdom,$cnum,$udom,$uname)=@_;      my ($symb,$cdom,$cnum,$udom,$uname,$type)=@_;
     my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},  
   $udom,$uname);  
     my %status;      my %status;
     $status{'status'}=$record{'resource.status'};  
     $status{'version'}=$record{'resource.version'};      if ($type eq 'Task') {
     $status{'grader'}=$record{'resource.grader'};   my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'},
     $status{'reviewqueue'}=&check_queue_for_key($cdom,$cnum,'reviewqueue',    $udom,$uname);
        &encode_queue_key($symb,$udom,$uname));   $status{'status'}=$record{'resource.status'};
     $status{'gradingqueue'}=&check_queue_for_key($cdom,$cnum,'gradingqueue',   $status{'version'}=$record{'resource.version'};
        &encode_queue_key($symb,$udom,$uname));   $status{'grader'}=$record{'resource.grader'};
       }
       $status{'reviewqueue'}=
    &check_queue_for_key($cdom,$cnum,'reviewqueue',
        &encode_queue_key($symb,$udom,$uname));
       $status{'gradingqueue'}=
    &check_queue_for_key($cdom,$cnum,'gradingqueue',
        &encode_queue_key($symb,$udom,$uname));
     return %status;      return %status;
 }  }
   

Removed from v.1.85  
changed lines
  Added in v.1.86


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