version 1.33, 2005/05/27 21:13:46
|
version 1.35, 2005/05/31 16:31:01
|
Line 146 sub add_grading_button {
|
Line 146 sub add_grading_button {
|
$result.='<input type="hidden" name="grade_target" value="webgrade" />'; |
$result.='<input type="hidden" name="grade_target" value="webgrade" />'; |
if ( 1) { |
if ( 1) { |
#need a permissions for limitng this to 'powerful users' |
#need a permissions for limitng this to 'powerful users' |
#check if review queue has items |
|
$result.=' <input type="submit" name="reviewasubmission" value="'. |
my ($entries,$ready,$locks)=&get_queue_counts('gradingqueue'); |
&mt("Select an entry from the review queue").'" />'."\n"; |
$result.='<p>'.&mt("Grading Queue has [_1] entries. [_2] of them are ready to be graded and [_3] of them are currently being graded",$entries,$ready,$locks); |
|
|
$result.=' <input type="submit" name="reviewagrading" value="'. |
$result.=' <input type="submit" name="reviewagrading" value="'. |
&mt("Select an entry from the grading queue").'" />'."\n"; |
&mt("Select an entry from the grading queue").'" /> </p>'."\n"; |
|
|
|
($entries,$ready,$locks)=&get_queue_counts('reviewqueue'); |
|
$result.='<p>'.&mt("Review Queue has [_1] entries. [_2] of them are ready to be graded and [_3] of them are currently being graded",$entries,$ready,$locks); |
|
$result.=' <input type="submit" name="reviewasubmission" value="'. |
|
&mt("Select an entry from the review queue").'" /> </p>'."\n"; |
} |
} |
return $result; |
return $result; |
} |
} |
Line 655 sub show_queue {
|
Line 661 sub show_queue {
|
my ($symb,$uname,$udom) = &decode_queue_key($key); |
my ($symb,$uname,$udom) = &decode_queue_key($key); |
my $title=&Apache::lonnet::gettitle($symb); |
my $title=&Apache::lonnet::gettitle($symb); |
$result.="<tr>"; |
$result.="<tr>"; |
|
my $slot=$queue{$key}->[0]; |
|
my %slot_data=&Apache::lonnet::get_slot($slot); |
if ($with_selects) { |
if ($with_selects) { |
my $ekey=&Apache::lonnet::escape($key); |
my $ekey=&Apache::lonnet::escape($key); |
my ($action,$description)=('select',&mt('Select')); |
my ($action,$description)=('select',&mt('Select')); |
Line 666 sub show_queue {
|
Line 674 sub show_queue {
|
($action,$description)=('unlock',&mt('Unlock')); |
($action,$description)=('unlock',&mt('Unlock')); |
} |
} |
} |
} |
$result.=(<<FORM); |
if (time > $slot_data{'endtime'}) { |
|
$result.=(<<FORM); |
<td> |
<td> |
<form method="POST"> |
<form method="POST"> |
<input type="hidden" name="gradingkey" value="$ekey" /> |
<input type="hidden" name="gradingkey" value="$ekey" /> |
Line 678 sub show_queue {
|
Line 687 sub show_queue {
|
</form> |
</form> |
</td> |
</td> |
FORM |
FORM |
|
|
|
} else { |
|
$result.='<td>'.&mt("In Progress").'</td>' |
|
} |
} |
} |
$result.="<td>$title</td><td>$uname</td>"; |
$result.="<td>$title</td><td>$uname</td>"; |
my $slot=$queue{$key}->[0]; |
|
my %slot_data=&Apache::lonnet::get_slot($slot); |
|
$result.='<td>queue entry</td><td>Slot: '.$slot.' End time: '. |
$result.='<td>queue entry</td><td>Slot: '.$slot.' End time: '. |
&Apache::lonlocal::locallocaltime($slot_data{'endtime'}). |
&Apache::lonlocal::locallocaltime($slot_data{'endtime'}). |
"</td></tr>"; |
"</td></tr>"; |
Line 691 FORM
|
Line 702 FORM
|
return $result; |
return $result; |
} |
} |
|
|
|
sub get_queue_counts { |
|
my ($queue)=@_; |
|
my $result; |
|
my ($symb,$cid,$udom,$uname)=&Apache::lonxml::whichuser(); |
|
my $cnum=$env{'course.'.$cid.'.num'}; |
|
my $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 (0,0,0); |
|
} |
|
my ($entries,$ready_to_grade,$locks)=(0,0,0); |
|
foreach my $key (sort(keys(%queue))) { |
|
if ($key=~/locked$/) { |
|
$locks++; |
|
} elsif ($key=~/timestamp$/) { |
|
#ignore |
|
} elsif ($key!~/(timestamp|locked)$/) { |
|
my ($symb,$uname,$udom) = &decode_queue_key($key); |
|
$entries++; |
|
my $slot=$queue{$key}->[0]; |
|
my %slot_data=&Apache::lonnet::get_slot($slot); |
|
if (time > $slot_data{'endtime'}) { |
|
$ready_to_grade++; |
|
} |
|
} |
|
} |
|
return ($entries,$ready_to_grade,$locks); |
|
} |
|
|
sub decode_queue_key { |
sub decode_queue_key { |
my ($key)=@_; |
my ($key)=@_; |
my ($symb,undef,$user) = split("\0",$key); |
my ($symb,undef,$user) = split("\0",$key); |