version 1.245, 2009/03/20 10:05:00
|
version 1.252, 2010/08/23 03:24:01
|
Line 82 sub proctor_check_auth {
|
Line 82 sub proctor_check_auth {
|
} |
} |
} |
} |
if ($authenticated) { |
if ($authenticated) { |
&check_in($type,$user,$domain,$slot_name); |
my $check = &check_in($type,$user,$domain,$slot_name); |
|
if ($check =~ /^error:/) { |
|
return 0; |
|
} |
return 1; |
return 1; |
} |
} |
} |
} |
Line 94 sub check_in {
|
Line 97 sub check_in {
|
my ($type,$user,$domain,$slot_name) = @_; |
my ($type,$user,$domain,$slot_name) = @_; |
my $useslots = &Apache::lonnet::EXT("resource.0.useslots"); |
my $useslots = &Apache::lonnet::EXT("resource.0.useslots"); |
if ( $useslots eq 'map_map') { |
if ( $useslots eq 'map_map') { |
&check_in_sequence($user,$domain,$slot_name); |
my $result = &check_in_sequence($user,$domain,$slot_name); |
|
if ($result =~ /^error: /) { |
|
return $result; |
|
} |
} else { |
} else { |
&create_new_version($type,$user,$domain,$slot_name); |
&create_new_version($type,$user,$domain,$slot_name); |
&Apache::structuretags::finalize_storage(); |
&Apache::structuretags::finalize_storage(); |
Line 105 sub check_in {
|
Line 111 sub check_in {
|
sub check_in_sequence { |
sub check_in_sequence { |
my ($user,$domain,$slot_name) = @_; |
my ($user,$domain,$slot_name) = @_; |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
if (!defined($navmap)) { |
|
return 'error: '; |
|
} |
my ($symb) = &Apache::lonnet::whichuser(); |
my ($symb) = &Apache::lonnet::whichuser(); |
my ($map) = &Apache::lonnet::decode_symb($symb); |
my ($map) = &Apache::lonnet::decode_symb($symb); |
my @resources = |
my @resources = |
Line 306 sub add_request_another_attempt_button {
|
Line 315 sub add_request_another_attempt_button {
|
my ($slot_name,$slot)=&Apache::slotrequest::check_for_reservation($symb); |
my ($slot_name,$slot)=&Apache::slotrequest::check_for_reservation($symb); |
my $action='get_reservation'; |
my $action='get_reservation'; |
if ($slot_name) { |
if ($slot_name) { |
$text=&mt('Change reservation.'); |
$text=&mt('Change reservation'); |
$action='change_reservation'; |
$action='change_reservation'; |
my $description=&Apache::slotrequest::get_description($slot_name, |
my $description=&Apache::slotrequest::get_description($slot_name, |
$slot); |
$slot); |
Line 655 sub start_Task {
|
Line 664 sub start_Task {
|
if ($status eq 'CAN_ANSWER' && $version eq '') { |
if ($status eq 'CAN_ANSWER' && $version eq '') { |
# CAN_ANSWER mode, and no current version, unproctored access |
# CAN_ANSWER mode, and no current version, unproctored access |
# thus self-checkedin |
# thus self-checkedin |
&check_in('Task',undef,undef,$slot_name); |
my $check = &check_in('Task',undef,undef,$slot_name); |
|
if ($check =~ /^error: /) { |
|
my $symb=&Apache::lonnet::symbread(); |
|
&Apache::lonnet::logthis("Error during self-checkin of version $version of Task (symb: $symb) using slot: $slot_name"); |
|
} |
&add_to_queue('gradingqueue',{'type' => 'Task', |
&add_to_queue('gradingqueue',{'type' => 'Task', |
'time' => time, |
'time' => time, |
'slot' => $slot_name}); |
'slot' => $slot_name}); |
Line 685 sub start_Task {
|
Line 698 sub start_Task {
|
$msg.='<h1>'.&mt('Unable to determine if this resource is open due to network problems. Please try again later.').'</h1>'; |
$msg.='<h1>'.&mt('Unable to determine if this resource is open due to network problems. Please try again later.').'</h1>'; |
} elsif ($status eq 'NOT_IN_A_SLOT') { |
} elsif ($status eq 'NOT_IN_A_SLOT') { |
$msg.='<h1>'.&mt('You are not currently signed up to work at this time and/or place.').'</h1>'; |
$msg.='<h1>'.&mt('You are not currently signed up to work at this time and/or place.').'</h1>'; |
$msg.=&add_request_another_attempt_button("Sign up for time to work."); |
$msg.=&add_request_another_attempt_button("Sign up for time to work"); |
} elsif ($status eq 'NEEDS_CHECKIN') { |
} elsif ($status eq 'NEEDS_CHECKIN') { |
$msg.='<h1>'.&mt('You need the Proctor to validate you.'). |
$msg.='<h1>'.&mt('You need the Proctor to validate you.'). |
'</h1>'.&proctor_validation_screen($slot); |
'</h1>'.&proctor_validation_screen($slot); |
Line 701 sub start_Task {
|
Line 714 sub start_Task {
|
} |
} |
$result.=$msg.'<br />'; |
$result.=$msg.'<br />'; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$result.='\begin{document}\noindent \vskip 1 mm \begin{minipage}{\textwidth}\vskip 0 mm'; |
$result.='\noindent \vskip 1 mm \begin{minipage}{\textwidth}\vskip 0 mm'; |
if ($status eq 'UNAVAILABLE') { |
if ($status eq 'UNAVAILABLE') { |
$result.=&mt('Unable to determine if this resource is open due to network problems. Please try again later.').'\vskip 0 mm '; |
$result.=&mt('Unable to determine if this resource is open due to network problems. Please try again later.').'\vskip 0 mm '; |
} else { |
} else { |
Line 1072 sub end_Task {
|
Line 1085 sub end_Task {
|
} |
} |
if ($status eq 'CAN_ANSWER' && !$previous && |
if ($status eq 'CAN_ANSWER' && !$previous && |
!$env{'form.donescreen'}) { |
!$env{'form.donescreen'}) { |
$result.="\n".'<table border="1">'. |
my ($portheader,$porttext); |
|
if ($Apache::lonhomework::history{"resource.$version.0.bridgetask.portfiles"}) { |
|
$portheader = &mt('Submit Additional Portfolio Files for Grading'); |
|
$porttext = &mt('Indicate which additional files from your portfolio are to be evaluated in grading this task.'); |
|
} else { |
|
$portheader = &mt('Submit Portfolio Files for Grading'); |
|
$porttext = &mt('Indicate the files from your portfolio to be evaluated in grading this task.'); |
|
} |
|
$result.="\n".'<p>'.&Apache::lonhtmlcommon::start_pick_box(). |
&Apache::inputtags::file_selector("$version.0", |
&Apache::inputtags::file_selector("$version.0", |
"bridgetask","*", |
"bridgetask","*", |
'portfolioonly', |
'portfolioonly', |
' |
'<h3>'.$portheader.'</h3><br />'. |
<h2>'.&mt('Submit Portfolio Files for Grading').'</h2> |
$porttext.'<br />'). |
<p>'.&mt('Indicate the files from your portfolio to be evaluated in grading this task.').'</p>'). |
&Apache::lonhtmlcommon::end_pick_box().'</p>'; |
"</table>"; |
|
} |
} |
if (!$previous && $status ne 'SHOW_ANSWER' && |
if (!$previous && $status ne 'SHOW_ANSWER' && |
&show_task($status,$previous)) { |
&show_task($status,$previous)) { |
Line 1178 DONEBUTTON
|
Line 1198 DONEBUTTON
|
if ($target eq 'grade' && !$env{'form.webgrade'} && !$previous |
if ($target eq 'grade' && !$env{'form.webgrade'} && !$previous |
&& $status eq 'CAN_ANSWER') { |
&& $status eq 'CAN_ANSWER') { |
my $award='SUBMITTED'; |
my $award='SUBMITTED'; |
|
my $uploadedflag=0; |
|
my $totalsize=0; |
|
my @deletions = &Apache::loncommon::get_env_multiple('form.HWFILE'.$version.'_0_bridgetask_delete'); |
&Apache::essayresponse::file_submission("$version.0",'bridgetask', |
&Apache::essayresponse::file_submission("$version.0",'bridgetask', |
'portfiles',\$award); |
\$award,\$uploadedflag,\$totalsize,\@deletions); |
if ($award eq 'SUBMITTED' && |
if ($award eq 'SUBMITTED' && |
$Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}) { |
$Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}) { |
$Apache::lonhomework::results{"resource.0.tries"}= |
$Apache::lonhomework::results{"resource.0.tries"}= |
Line 1192 DONEBUTTON
|
Line 1215 DONEBUTTON
|
$Apache::lonhomework::results{"resource.0.submission"}= |
$Apache::lonhomework::results{"resource.0.submission"}= |
$Apache::lonhomework::results{"resource.$version.0.submission"}=''; |
$Apache::lonhomework::results{"resource.$version.0.submission"}=''; |
} else { |
} else { |
delete($Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}); |
unless($uploadedflag) { |
|
delete($Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}); |
|
} |
$award = ''; |
$award = ''; |
} |
} |
&Apache::lonhomework::showhash(%Apache::lonhomework::results); |
&Apache::lonhomework::showhash(%Apache::lonhomework::results); |
Line 1295 DONEBUTTON
|
Line 1320 DONEBUTTON
|
$Apache::lonhomework::results{"resource.$version.0.solved"}; |
$Apache::lonhomework::results{"resource.$version.0.solved"}; |
} |
} |
&minimize_storage(); |
&minimize_storage(); |
&Apache::structuretags::finalize_storage(); |
my $canstore; |
|
if ($env{'form.gradingkey'}) { |
|
my ($symb,$courseid,$domain,$name) = |
|
&Apache::lonnet::whichuser(); |
|
my $todo=&unescape($env{'form.gradingkey'}); |
|
my ($keysymb,$uname,$udom)=&decode_queue_key($todo); |
|
if ($symb eq $keysymb) { |
|
if (($domain eq $udom) && ($name eq $uname)) { |
|
$canstore = 1; |
|
} |
|
} |
|
} |
|
if ($canstore) { |
|
&Apache::structuretags::finalize_storage(); |
|
} else { |
|
$result .= '<br /><div class="LC_error">'. |
|
&mt('Information extracted from the current gradingkey was for a different BT or user from those for which grading data are to be stored.').' '.&mt('No grading changes stored.').'</div><br />'; |
|
} |
|
|
# data stored, now handle queue |
# data stored, now handle queue |
if ($review) { |
if ($review) { |
if ($env{'form.queue'} eq 'reviewqueue') { |
if ($env{'form.queue'} eq 'reviewqueue') { |
Line 1382 DONEBUTTON
|
Line 1424 DONEBUTTON
|
} |
} |
&Apache::structuretags::reset_problem_globals('Task'); |
&Apache::structuretags::reset_problem_globals('Task'); |
undef($Apache::lonhomework::parsing_a_task); |
undef($Apache::lonhomework::parsing_a_task); |
|
if ( ($target eq 'grade' && $env{'form.webgrade'}) || |
|
$target eq 'webgrade') { |
|
delete($env{'form.grade_symb'}); |
|
delete($env{'form.grade_domain'}); |
|
delete($env{'form.grade_username'}); |
|
delete($env{'form.grade_courseid'}); |
|
} |
return $result; |
return $result; |
} |
} |
|
|
Line 2994 sub layout_webgrade_Criteria {
|
Line 3043 sub layout_webgrade_Criteria {
|
$comment = &HTML::Entities::encode($comment,'<>"&'); |
$comment = &HTML::Entities::encode($comment,'<>"&'); |
my %checked; |
my %checked; |
foreach my $which ('ungraded','fail','pass','review') { |
foreach my $which ('ungraded','fail','pass','review') { |
if ($status eq $which) { $checked{$which} = 'checked="checked"'; } |
if ($status eq $which) { $checked{$which} = ' checked="checked"'; } |
} |
} |
if (!%checked) { $checked{'ungraded'} = 'checked="checked"'; } |
if (!%checked) { $checked{'ungraded'} = ' checked="checked"'; } |
my $buttons; |
my $buttons; |
foreach my $which ('ungraded','fail','pass','review') { |
foreach my $which ('ungraded','fail','pass','review') { |
$buttons .= <<END_BUTTON; |
$buttons .= <<END_BUTTON; |
<label class="LC_GRADING_$which"> |
<label class="LC_GRADING_$which"> |
<input type="radio" name="HWVAL_$link" value="$which" $checked{$which} /> |
<input type="radio" name="HWVAL_$link" value="$which"$checked{$which} /> |
$lt{$which} |
$lt{$which} |
</label> |
</label> |
END_BUTTON |
END_BUTTON |
Line 3144 sub proctor_validation_screen {
|
Line 3193 sub proctor_validation_screen {
|
'vali' => 'Validate', |
'vali' => 'Validate', |
'stui' => "Student who should be logged in is:", |
'stui' => "Student who should be logged in is:", |
'name' => "Name:", |
'name' => "Name:", |
'sid' => "Student/Employee ID:", |
'sid' => "Student/Employee ID", |
'unam' => "Username:", |
'unam' => "Username:", |
); |
); |
my $result= (<<ENDCHECKOUT); |
my $result= (<<ENDCHECKOUT); |