version 1.213, 2006/12/01 22:53:08
|
version 1.218, 2007/01/11 19:01:38
|
Line 98 sub check_in {
|
Line 98 sub check_in {
|
&check_in_sequence($user,$domain,$slot_name); |
&check_in_sequence($user,$domain,$slot_name); |
} else { |
} else { |
&create_new_version($type,$user,$domain,$slot_name); |
&create_new_version($type,$user,$domain,$slot_name); |
|
&Apache::structuretags::finalize_storage(); |
} |
} |
return 1; |
return 1; |
} |
} |
Line 590 sub start_Task {
|
Line 591 sub start_Task {
|
&Apache::structuretags::page_start($target,$token,$tagstack, |
&Apache::structuretags::page_start($target,$token,$tagstack, |
$parstack,$parser,$safeeval, |
$parstack,$parser,$safeeval, |
$name,&style($target)); |
$name,&style($target)); |
$result .= '<div class="LC_task">'."\n"; |
|
} |
} |
|
|
if ($target eq 'web' && $env{'request.state'} ne 'construct') { |
if ($target eq 'web' && $env{'request.state'} ne 'construct') { |
Line 639 sub start_Task {
|
Line 639 sub start_Task {
|
'slot' => $slot_name}); |
'slot' => $slot_name}); |
($version,$previous)=&get_version(); |
($version,$previous)=&get_version(); |
} |
} |
|
|
|
my $status_id = |
|
($previous || $status eq 'SHOW_ANSWER') ? 'LC_task_feedback' |
|
: 'LC_task_take'; |
|
$result .= '<div class="LC_task" id="'.$status_id.'">'."\n"; |
|
|
push(@Apache::inputtags::status,$status); |
push(@Apache::inputtags::status,$status); |
$Apache::inputtags::slot_name=$slot_name; |
$Apache::inputtags::slot_name=$slot_name; |
Line 706 sub start_Task {
|
Line 711 sub start_Task {
|
$target eq 'webgrade') { |
$target eq 'webgrade') { |
my $webgrade='yes'; |
my $webgrade='yes'; |
if ($target eq 'webgrade') { |
if ($target eq 'webgrade') { |
|
$result .= '<div class="LC_task">'."\n"; |
$result.= "\n".'<div class="LC_GRADING_task">'."\n". |
$result.= "\n".'<div class="LC_GRADING_task">'."\n". |
'<script type="text/javascript" |
'<script type="text/javascript" |
src="/res/adm/includes/task_grading.js"></script>'; |
src="/res/adm/includes/task_grading.js"></script>'; |
Line 1116 DONEBUTTON
|
Line 1122 DONEBUTTON
|
} |
} |
|
|
|
|
if ($target eq 'grade' && !$env{'form.webgrade'} && !$previous) { |
if ($target eq 'grade' && !$env{'form.webgrade'} && !$previous |
|
&& $status eq 'CAN_ANSWER') { |
my $award='SUBMITTED'; |
my $award='SUBMITTED'; |
&Apache::essayresponse::file_submission("$version.0",'bridgetask', |
&Apache::essayresponse::file_submission("$version.0",'bridgetask', |
'portfiles',\$award); |
'portfiles',\$award); |
Line 1577 sub show_queue {
|
Line 1584 sub show_queue {
|
my $ekey=&escape($key); |
my $ekey=&escape($key); |
my ($action,$description,$status)=('select',&mt('Select')); |
my ($action,$description,$status)=('select',&mt('Select')); |
if (exists($queue{"$key\0locked"})) { |
if (exists($queue{"$key\0locked"})) { |
|
my ($locker,$time) = |
|
&get_lock_info($queue{"$key\0locked"}); |
|
if ($time) { |
|
$time = |
|
&Apache::lonnavmaps::timeToHumanString($time, |
|
'start'); |
|
} |
my $me=$env{'user.name'}.':'.$env{'user.domain'}; |
my $me=$env{'user.name'}.':'.$env{'user.domain'}; |
$status=&mt('Locked by <tt>[_1]</tt>',$queue{"$key\0locked"}); |
$status=&mt('Locked by <tt>[_1]</tt> [_2]',$locker,$time); |
if ($me eq $queue{"$key\0locked"}) { |
if ($me eq $locker) { |
($action,$description)=('resume',&mt('Resume')); |
($action,$description)=('resume',&mt('Resume')); |
} else { |
} else { |
($action,$description)=('unlock',&mt('Unlock')); |
($action,$description)=('unlock',&mt('Unlock')); |
Line 1689 sub queue_key_locked {
|
Line 1703 sub queue_key_locked {
|
my ($key_locked,$value)= |
my ($key_locked,$value)= |
&Apache::lonnet::get($queue,["$key\0locked"],$cdom,$cnum); |
&Apache::lonnet::get($queue,["$key\0locked"],$cdom,$cnum); |
if ($key_locked eq "$key\0locked") { |
if ($key_locked eq "$key\0locked") { |
return $value; |
return &get_lock_info($value); |
} |
} |
return undef; |
return undef; |
} |
} |
Line 1770 sub pick_from_queue_data {
|
Line 1784 sub pick_from_queue_data {
|
return undef; |
return undef; |
} |
} |
|
|
|
sub get_lock_info { |
|
my ($lock_info) = @_; |
|
if (wantarray) { |
|
if (ref($lock_info) eq 'ARRAY') { |
|
return @{$lock_info}; |
|
} else { |
|
return ($lock_info); |
|
} |
|
} else { |
|
if (ref($lock_info) eq 'ARRAY') { |
|
return $lock_info->[0]; |
|
} else { |
|
return $lock_info; |
|
} |
|
} |
|
return; |
|
} |
|
|
sub find_mid_grade { |
sub find_mid_grade { |
my ($queue,$symb,$cdom,$cnum)=@_; |
my ($queue,$symb,$cdom,$cnum)=@_; |
my $todo=&unescape($env{'form.gradingkey'}); |
my $todo=&unescape($env{'form.gradingkey'}); |
Line 1781 sub find_mid_grade {
|
Line 1813 sub find_mid_grade {
|
my $regexp="^$symb\0.*\0locked\$"; |
my $regexp="^$symb\0.*\0locked\$"; |
my %locks=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp); |
my %locks=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp); |
foreach my $key (keys(%locks)) { |
foreach my $key (keys(%locks)) { |
my $who=$locks{$key}; |
my $who= &get_lock_info($locks{$key}); |
if ($who eq $me) { |
if ($who eq $me) { |
$todo=$key; |
$todo=$key; |
$todo=~s/\0locked$//; |
$todo=~s/\0locked$//; |
Line 1797 sub lock_key {
|
Line 1829 sub lock_key {
|
my (undef,$cid)=&Apache::lonnet::whichuser(); |
my (undef,$cid)=&Apache::lonnet::whichuser(); |
my $cnum=$env{'course.'.$cid.'.num'}; |
my $cnum=$env{'course.'.$cid.'.num'}; |
my $cdom=$env{'course.'.$cid.'.domain'}; |
my $cdom=$env{'course.'.$cid.'.domain'}; |
my $success=&Apache::lonnet::newput($queue,{"$todo\0locked"=> $me}, |
my $success=&Apache::lonnet::newput($queue,{"$todo\0locked"=> [$me,time]}, |
$cdom,$cnum); |
$cdom,$cnum); |
&Apache::lonxml::debug("success $success $todo"); |
&Apache::lonxml::debug("success $success $todo"); |
if ($success eq 'ok') { |
if ($success eq 'ok') { |