version 1.151, 2006/05/16 06:43:42
|
version 1.154, 2006/05/25 19:37:47
|
Line 95 sub create_new_version {
|
Line 95 sub create_new_version {
|
my $version= |
my $version= |
$Apache::lonhomework::history{'resource.0.version'}; |
$Apache::lonhomework::history{'resource.0.version'}; |
$version++; |
$version++; |
|
&Apache::lonxml::debug("Making version $version"); |
#clean out all current results |
#clean out all current results |
foreach my $key (keys(%Apache::lonhomework::history)) { |
foreach my $key (keys(%Apache::lonhomework::history)) { |
if ($key=~/^resource\.0\./) { |
if ($key=~/^resource\.0\./) { |
Line 108 sub create_new_version {
|
Line 108 sub create_new_version {
|
if (defined($user) && defined($domain)) { |
if (defined($user) && defined($domain)) { |
$Apache::lonhomework::results{"resource.$version.0.checkedin"}= |
$Apache::lonhomework::results{"resource.$version.0.checkedin"}= |
$user.':'.$domain; |
$user.':'.$domain; |
|
} else { |
|
$Apache::lonhomework::results{"resource.$version.0.checkedin"}= |
|
$env{'user.name'}.':'.$env{'user.domain'}; |
} |
} |
if (defined($slot_name)) { |
if (defined($slot_name)) { |
$Apache::lonhomework::results{"resource.$version.0.checkedin.slot"}= |
$Apache::lonhomework::results{"resource.$version.0.checkedin.slot"}= |
Line 454 sub start_Task {
|
Line 457 sub start_Task {
|
my ($version,$previous)=&get_version(); |
my ($version,$previous)=&get_version(); |
($status,$accessmsg,my $slot_name,$slot) = |
($status,$accessmsg,my $slot_name,$slot) = |
&Apache::lonhomework::check_slot_access('0','Task'); |
&Apache::lonhomework::check_slot_access('0','Task'); |
if ($status eq 'CAN_ANSWER' && $version eq '' && $slot_name eq '') { |
if ($status eq 'CAN_ANSWER' && $version eq '') { |
&create_new_version('Task'); |
&create_new_version('Task',undef,undef,$slot_name); |
|
&add_to_queue('gradingqueue',{'type' => 'Task', |
|
'time' => time, |
|
'slot' => $slot_name}); |
($version,$previous)=&get_version(); |
($version,$previous)=&get_version(); |
} |
} |
|
|
Line 528 DONESCREEN
|
Line 534 DONESCREEN
|
&& defined($Apache::inputtags::slot_name)) { |
&& defined($Apache::inputtags::slot_name)) { |
my $result= |
my $result= |
&add_to_queue('gradingqueue', |
&add_to_queue('gradingqueue', |
{'type' => 'task', |
{'type' => 'Task', |
'time' => time, |
'time' => time, |
'slot' => |
'slot' => |
$Apache::inputtags::slot_name}); |
$Apache::inputtags::slot_name}); |
Line 916 DONEBUTTON
|
Line 922 DONEBUTTON
|
my $useslots = &Apache::lonnet::EXT("resource.0.useslots"); |
my $useslots = &Apache::lonnet::EXT("resource.0.useslots"); |
if ($useslots =~ /^\s*no\s*$/i) { |
if ($useslots =~ /^\s*no\s*$/i) { |
&add_to_queue('gradingqueue', |
&add_to_queue('gradingqueue', |
{'type' => 'task', |
{'type' => 'Task', |
'time' => time}); |
'time' => time}); |
} elsif (defined($Apache::inputtags::slot_name)) { |
} elsif (defined($Apache::inputtags::slot_name)) { |
&add_to_queue('gradingqueue', |
&add_to_queue('gradingqueue', |
{'type' => 'task', |
{'type' => 'Task', |
'time' => time, |
'time' => time, |
'slot' => $Apache::inputtags::slot_name}); |
'slot' => $Apache::inputtags::slot_name}); |
} |
} |
Line 1388 sub pick_from_queue_data {
|
Line 1394 sub pick_from_queue_data {
|
} |
} |
my $end_time; |
my $end_time; |
if (my $slot=&slotted_access($queuedata->{$key})) { |
if (my $slot=&slotted_access($queuedata->{$key})) { |
|
&Apache::lonxml::debug("looking at slot $slot"); |
my %slot_data=&Apache::lonnet::get_slot($slot); |
my %slot_data=&Apache::lonnet::get_slot($slot); |
if ($slot_data{'endtime'} < time) { |
if ($slot_data{'endtime'} < time) { |
$end_time = $slot_data{'endtime'}; |
$end_time = $slot_data{'endtime'}; |
|
} else { |
|
&Apache::lonxml::debug("not time ".$slot_data{'endtime'}); |
|
next; |
} |
} |
} else { |
} else { |
my $due_date = &Apache::lonhomework::due_date('0',$symb); |
my $due_date = &Apache::lonhomework::due_date('0',$symb); |
if ($due_date > time) { |
if ($due_date < time) { |
$end_time = $due_date; |
$end_time = $due_date; |
|
} else { |
|
&Apache::lonxml::debug("not time $due_date"); |
|
next; |
} |
} |
} |
} |
if ($end_time ne '') { |
|
&Apache::lonxml::debug("not time"); |
|
next; |
|
} |
|
|
|
if (exists($queuedata->{"$key\0locked"})) { |
if (exists($queuedata->{"$key\0locked"})) { |
&Apache::lonxml::debug("someone already has um."); |
&Apache::lonxml::debug("someone already has um."); |
Line 1777 sub get_instance {
|
Line 1786 sub get_instance {
|
my $dim=&get_id($parstack,$safeeval); |
my $dim=&get_id($parstack,$safeeval); |
my $instance=&get_instance($dim); |
my $instance=&get_instance($dim); |
my $version=&get_version(); |
my $version=&get_version(); |
use Data::Dumper; |
|
&Apache::lonxml::debug(Dumper(\%dimension)); |
|
if ($target eq 'web') { |
if ($target eq 'web') { |
@Apache::scripttag::parser_env = @_; |
@Apache::scripttag::parser_env = @_; |
$result.=&Apache::scripttag::xmlparse($dimension{'intro'}); |
$result.=&Apache::scripttag::xmlparse($dimension{'intro'}); |
Line 1905 sub get_instance {
|
Line 1912 sub get_instance {
|
my $mandatory_failed=0; |
my $mandatory_failed=0; |
my $ungraded=0; |
my $ungraded=0; |
my $review=0; |
my $review=0; |
|
|
|
@Apache::scripttag::parser_env = @_; |
|
$result.=&Apache::scripttag::xmlparse($dimension{'intro'}); |
foreach my $id (@{$dimension{$instance.'.criterias'}}, |
foreach my $id (@{$dimension{$instance.'.criterias'}}, |
@{$dimension{'criterias'}}) { |
@{$dimension{'criterias'}}) { |
my $link=&link($id); |
my $link=&link($id); |
|
@Apache::scripttag::parser_env = @_; |
|
$result.=&Apache::scripttag::xmlparse($dimension{$instance.'.text'}); |
my $status=$Apache::lonhomework::results{"resource.$version.0.$dim.$id.status"}=$env{'form.HWVAL_'.$link}; |
my $status=$Apache::lonhomework::results{"resource.$version.0.$dim.$id.status"}=$env{'form.HWVAL_'.$link}; |
$Apache::lonhomework::results{"resource.$version.0.$dim.$id.comment"}=$env{'form.HWVAL_comment_'.$link}; |
$Apache::lonhomework::results{"resource.$version.0.$dim.$id.comment"}=$env{'form.HWVAL_comment_'.$link}; |
my $mandatory=($dimension{'criteria.'.$id.'.mandatory'} ne 'N'); |
my $mandatory=($dimension{'criteria.'.$id.'.mandatory'} ne 'N'); |
Line 1991 sub grading_history {
|
Line 2003 sub grading_history {
|
sub start_IntroParagraph { |
sub start_IntroParagraph { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
my $result; |
if ($target eq 'web' || $target eq 'webgrade') { |
if ($target eq 'grade' || $target eq 'web' || $target eq 'webgrade') { |
if ($tagstack->[-2] eq 'Dimension' || $tagstack->[-2] eq 'Question' ) { |
if ($tagstack->[-2] eq 'Dimension' || $tagstack->[-2] eq 'Question' ) { |
$dimension{'intro'}= |
$dimension{'intro'}= |
&Apache::lonxml::get_all_text('/introparagraph', |
&Apache::lonxml::get_all_text('/introparagraph', |
Line 2033 sub start_InstanceText {
|
Line 2045 sub start_InstanceText {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $instance_id=$Apache::bridgetask::instance[-1]; |
my $instance_id=$Apache::bridgetask::instance[-1]; |
my $text=&Apache::lonxml::get_all_text('/instancetext',$parser,$style); |
my $text=&Apache::lonxml::get_all_text('/instancetext',$parser,$style); |
if ($target eq 'web' || $target eq 'webgrade') { |
if ($target eq 'grade' || $target eq 'web' || $target eq 'webgrade') { |
$dimension{$instance_id.'.text'}=$text; |
$dimension{$instance_id.'.text'}=$text; |
} |
} |
return ''; |
return ''; |