version 1.64, 2005/10/01 04:52:21
|
version 1.70, 2005/10/14 16:23:39
|
Line 335 sub submission_time_stamp {
|
Line 335 sub submission_time_stamp {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub webgrade_standard_info { |
|
my ($version)=&get_version(); |
|
my (undef,undef,$udom,$uname) = &Apache::lonxml::whichuser(); |
|
my $file_url = '/uploaded/'.$udom.'/'.$uname.'/portfolio/'; |
|
my $file_list="<ul>\n"; |
|
foreach my $partial_file (split(',',$Apache::lonhomework::history{"resource.$version.0.bridgetask.portfiles"})) { |
|
my $file=$file_url.$partial_file; |
|
$file=~s|/+|/|g; |
|
&Apache::lonnet::allowuploaded('/adm/bridgetask',$file); |
|
$file_list.='<li><nobr><a href="'.$file.'" target="lonGRDs"><img src="'. |
|
&Apache::loncommon::icon($file).'" border=0"> '.$file. |
|
'</a></nobr></li>'."\n"; |
|
} |
|
$file_list.="</ul>\n"; |
|
|
|
my %lt=&Apache::lonlocal::texthash('done' => 'Done', |
|
'stop' => 'Stop', |
|
); |
|
|
|
my $result=<<INFO; |
|
<div class="handininfo"> |
|
<input type="submit" name="next" value="$lt{'done'}" /> |
|
<input type="submit" name="stop" value="$lt{'stop'}" /> |
|
$file_list |
|
</div> |
|
INFO |
|
return $result; |
|
} |
|
|
sub start_Task { |
sub start_Task { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
|
my ($status,$accessmsg,$slot); |
my ($status,$accessmsg,$slot); |
if ($target ne 'webgrade') { |
if ($target ne 'webgrade') { |
|
&Apache::structuretags::init_problem_globals('Task'); |
&Apache::structuretags::initialize_storage(); |
&Apache::structuretags::initialize_storage(); |
&Apache::lonhomework::showhash(%Apache::lonhomework::history); |
&Apache::lonhomework::showhash(%Apache::lonhomework::history); |
} |
} |
Line 395 sub start_Task {
|
Line 425 sub start_Task {
|
$msg.='<h1>'.&mt('Your submission is in the grading queue.').'</h1>'; |
$msg.='<h1>'.&mt('Your submission is in the grading queue.').'</h1>'; |
} elsif ($env{'form.donescreen'}) { |
} elsif ($env{'form.donescreen'}) { |
my $title=&Apache::lonnet::gettitle(); |
my $title=&Apache::lonnet::gettitle(); |
my $files=$Apache::lonhomework::history{'resource.'.$version.'.0.bridgetask.portfiles'}; |
my @files=split(',',$Apache::lonhomework::history{'resource.'.$version.'.0.bridgetask.portfiles'}); |
$result.= $head_tag_start.'</head>'.$body_tag_start; |
my $files='<ul><li>'.join('</li><li>',@files).'</li></ul>'; |
$result.=<<DONESCREEN; |
$result.=<<DONESCREEN; |
<h2>$title</h2> |
<h2>$title</h2> |
<p> Files submitted: $files </p> |
<p> Files submitted: $files </p> |
<p> You are now done with the Bridge Task </p> |
<p> You are now done with this Bridge Task </p> |
<hr /> |
<hr /> |
<p> <a href="/adm/logout">Logout</a> </p> |
<p> <a href="/adm/logout">Logout</a> </p> |
<p> <a href="/adm/roles">Change to a different course</a> </p> |
<p> <a href="/adm/roles">Change to a different course</a> </p> |
Line 511 DONESCREEN
|
Line 541 DONESCREEN
|
value="'.$sec.'" />'; |
value="'.$sec.'" />'; |
} |
} |
} |
} |
|
if ($webgrade eq 'yes') { $result.=&webgrade_standard_info(); } |
} |
} |
} else { |
} else { |
# page_start returned a starting result, delete it if we don't need it |
# page_start returned a starting result, delete it if we don't need it |
Line 618 sub end_Task {
|
Line 649 sub end_Task {
|
my ($version,$previous)=&get_version(); |
my ($version,$previous)=&get_version(); |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
$target eq 'tex') { |
$target eq 'tex') { |
if ( |
if ($target eq 'web' || $target eq 'answer' || $target eq 'tex') { |
(($target eq 'web') && ($env{'request.state'} ne 'construct')) || |
|
($target eq 'answer') || ($target eq 'tex') |
|
) { |
|
if ($target eq 'web') { |
if ($target eq 'web') { |
if (&show_task($status,$previous)) { |
if (&show_task($status,$previous)) { |
$result.=&Apache::lonxml::endredirection(); |
$result.=&Apache::lonxml::endredirection(); |
Line 827 DONEBUTTON
|
Line 855 DONEBUTTON
|
# &mt('Save Partial Grade and Continue Grading').'" /> '; |
# &mt('Save Partial Grade and Continue Grading').'" /> '; |
$result.='</form>'.&Apache::loncommon::endbodytag().'</html>'; |
$result.='</form>'.&Apache::loncommon::endbodytag().'</html>'; |
} elsif ($target eq 'meta') { |
} elsif ($target eq 'meta') { |
$result.='<parameter part="0" package="Task"></parameter>'."\n"; |
$result.=&Apache::response::meta_package_write('Task'); |
#$result.=&Apache::response::meta_part_order(); |
$result.=&meta_stores_write('solved','string','Problem Status'); |
#$result.=&Apache::response::meta_response_order(); |
$result.=&meta_stores_write('tries','int_zeropos', |
|
'Number of Attempts'); |
|
$result.=&meta_stores_write('awarded','float', |
|
'Partial Credit Factor'); |
|
$result.=&meta_stores_write('status','string', |
|
'Bridge Task Status'); |
} |
} |
undef($Apache::lonhomework::parsing_a_task); |
undef($Apache::lonhomework::parsing_a_task); |
return $result; |
return $result; |
Line 1089 sub queue_key_locked {
|
Line 1122 sub queue_key_locked {
|
sub pick_from_queue_data { |
sub pick_from_queue_data { |
my ($queue,$check_section,$queuedata,$cdom,$cnum)=@_; |
my ($queue,$check_section,$queuedata,$cdom,$cnum)=@_; |
foreach my $key (keys(%$queuedata)) { |
foreach my $key (keys(%$queuedata)) { |
|
if ($key =~ /\0locked$/) { next; } |
|
if ($key =~ /\0timestamp$/) { next; } |
my ($symb,$uname,$udom)=&decode_queue_key($key); |
my ($symb,$uname,$udom)=&decode_queue_key($key); |
if ($check_section) { |
if ($check_section) { |
my $section=&Apache::lonnet::getsection($uname,$udom); |
my $section=&Apache::lonnet::getsection($uname,$udom); |
Line 1403 sub get_instance {
|
Line 1438 sub get_instance {
|
$dim_info.='<h3>Question : you did not pass this '.$mandatory.' question</h3>'; |
$dim_info.='<h3>Question : you did not pass this '.$mandatory.' question</h3>'; |
} |
} |
my $man_count=0; |
my $man_count=0; |
|
my $man_passed=0; |
my $opt_count=0; |
my $opt_count=0; |
my $opt_passed=0; |
my $opt_passed=0; |
foreach my $id (@{$dimension{$instance.'.criterias'}}) { |
foreach my $id (@{$dimension{$instance.'.criterias'}}) { |
Line 1414 sub get_instance {
|
Line 1450 sub get_instance {
|
} |
} |
} else { |
} else { |
$man_count++; |
$man_count++; |
|
if ($Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.status"} eq 'pass') { |
|
$man_passed++; |
|
} |
} |
} |
} |
} |
my $opt_req=&Apache::lonxml::get_param('OptionalRequired', |
if ($man_passed eq $man_count) { $man_passed='all'; } |
$parstack,$safeeval); |
my $opt_req=$dimension{$instance.'.optionalrequired'}; |
if ($opt_req !~ /\S/) { $opt_req='0'; } |
if ($opt_req !~ /\S/) { $opt_req='0'; } |
$dim_info.="\n<p>".&mt('You passed all of the mandatory components and [_1] of the [_2] optional components, of which you were required to pass [_3].',$opt_passed,$opt_count,$opt_req)."</p>\n</div>"; |
$dim_info.="\n<p>".&mt('You passed [_1] of the [_2] mandatory components and [_3] of the [_4] optional components, of which you were required to pass [_5].',$man_passed,$man_count,$opt_passed,$opt_count,$opt_req)."</p>\n</div>"; |
|
|
my $internal_location=&internal_location($dim); |
my $internal_location=&internal_location($dim); |
$result=~s/\Q$internal_location\E/$dim_info/; |
$result=~s/\Q$internal_location\E/$dim_info/; |
Line 1482 sub get_instance {
|
Line 1521 sub get_instance {
|
'<td>'. |
'<td>'. |
'<a href="#'.$last_link.'">Prev</a><br />'. |
'<a href="#'.$last_link.'">Prev</a><br />'. |
'<a href="#next_'.$link.'">Next</a><br /><br /><br />'. |
'<a href="#next_'.$link.'">Next</a><br /><br /><br />'. |
'<input type="submit" name="next" value="'. |
|
&mt('Done').'" /> '. |
|
'<input type="submit" name="stop" value="'. |
|
&mt('Stop').'" /> '. |
|
'</td></tr>'; |
'</td></tr>'; |
$result.='<tr><td colspan="4">'; |
|
my (undef,undef,$udom,$uname) = &Apache::lonxml::whichuser(); |
|
my $file_url = '/uploaded/'.$udom.'/'.$uname.'/portfolio/'; |
|
foreach my $partial_file (split(',',$Apache::lonhomework::history{"resource.$version.0.bridgetask.portfiles"})) { |
|
my $file=$file_url.$partial_file; |
|
$file=~s|/+|/|g; |
|
&Apache::lonnet::allowuploaded('/adm/bridgetask',$file); |
|
$result.='<nobr><a href="'.$file.'" target="lonGRDs"><img src="'. |
|
&Apache::loncommon::icon($file).'" border=0"> '.$file. |
|
'</a></nobr> '; |
|
} |
|
$result.='</td></tr>'; |
|
$last_link=$link; |
$last_link=$link; |
} |
} |
} elsif ($target eq 'grade' && $env{'form.webgrade'}) { |
} elsif ($target eq 'grade' && $env{'form.webgrade'}) { |
Line 1539 sub get_instance {
|
Line 1562 sub get_instance {
|
$Apache::lonhomework::results{"resource.$version.$dim.status"}= |
$Apache::lonhomework::results{"resource.$version.$dim.status"}= |
'pass'; |
'pass'; |
} |
} |
|
} else { |
|
# any other targets no output |
|
undef($result); |
} |
} |
return $result; |
return $result; |
} |
} |