--- loncom/homework/bridgetask.pm 2008/08/13 09:10:44 1.239
+++ loncom/homework/bridgetask.pm 2009/03/27 00:20:39 1.246
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: bridgetask.pm,v 1.239 2008/08/13 09:10:44 bisitz Exp $
+# $Id: bridgetask.pm,v 1.246 2009/03/27 00:20:39 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -82,7 +82,10 @@ sub proctor_check_auth {
}
}
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;
}
}
@@ -94,7 +97,10 @@ sub check_in {
my ($type,$user,$domain,$slot_name) = @_;
my $useslots = &Apache::lonnet::EXT("resource.0.useslots");
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 {
&create_new_version($type,$user,$domain,$slot_name);
&Apache::structuretags::finalize_storage();
@@ -105,6 +111,9 @@ sub check_in {
sub check_in_sequence {
my ($user,$domain,$slot_name) = @_;
my $navmap = Apache::lonnavmaps::navmap->new();
+ if (!defined($navmap)) {
+ return 'error: ';
+ }
my ($symb) = &Apache::lonnet::whichuser();
my ($map) = &Apache::lonnet::decode_symb($symb);
my @resources =
@@ -473,7 +482,7 @@ sub file_list {
my $file=$file_url.$partial_file;
$file=~s|/+|/|g;
&Apache::lonnet::allowuploaded('/adm/bridgetask',$file);
- $file_list.='

'.$file.
''."\n";
}
@@ -493,13 +502,13 @@ sub webgrade_standard_info {
my $file_list = &file_list($Apache::lonhomework::history{"resource.$version.0.bridgetask.portfiles"});
- my %lt=('done' => 'Next Item',
- 'stop' => 'Quit Grading',
- 'fail' => 'Fail Rest',
- 'cancel' => 'Cancel',
- 'submit' => 'Submit Grades',
- );
- %lt=&Apache::lonlocal::texthash(%lt);
+ my %lt = &Apache::lonlocal::texthash(
+ 'done' => 'Next Item',
+ 'stop' => 'Quit Grading',
+ 'fail' => 'Fail Rest',
+ 'cancel' => 'Cancel',
+ 'submit' => 'Submit Grades',
+ );
my $result=<
@@ -545,7 +554,7 @@ sub done_screen {
.&mt('[_1]Nonexistent file:[_2]'
,' '
,' '.$file.'');
- $msg .= "".&mt('Submitted non-existant file [_1]',$file)."
\n";
+ $msg .= "".&mt('Submitted non-existent file [_1]',$file)."
\n";
} else {
$file = ''.$file.'';
$msg .= "".&mt('Submitted file [_1]',$file)."
\n";
@@ -579,7 +588,7 @@ sub done_screen {
.''.&mt('Logout').'
'
.''.&mt('Change to a different course').'
'
.$message_status
-.$comment_status
+.$comment_status;
}
@@ -655,7 +664,11 @@ sub start_Task {
if ($status eq 'CAN_ANSWER' && $version eq '') {
# CAN_ANSWER mode, and no current version, unproctored access
# 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',
'time' => time,
'slot' => $slot_name});
@@ -1091,10 +1104,11 @@ sub end_Task {
if (!$previous && $status ne 'SHOW_ANSWER' &&
&show_task($status,$previous)) {
my $action = &Apache::lonenc::check_encrypt($env{'request.uri'});
+ my $donetext = &mt('Done');
$result.=<
-
+
DONEBUTTON
}
@@ -1325,7 +1339,7 @@ DONEBUTTON
}
}
if (exists($Apache::lonhomework::results{'INTERNAL_store'})) {
- # instance generation occured and hasn't yet been stored
+ # instance generation occurred and hasn't yet been stored
&Apache::structuretags::finalize_storage();
}
} elsif ($target eq 'webgrade') {
@@ -2080,6 +2094,7 @@ sub select_user {
$seclist.='';
}
+ my $buttontext=&mt('Regrade');
$result.=&Apache::loncommon::start_data_table_row();
$result.=<
@@ -2088,7 +2103,7 @@ sub select_user {
-
+
$seclist
$classlist->{$student}[&Apache::loncoursedata::CL_FULLNAME()] ($student) Sec: $classlist->{$student}[&Apache::loncoursedata::CL_SECTION()] |
@@ -2647,17 +2662,11 @@ sub question_status_message {
}
$status .= '.';
if ($counts->{'opt'}) {
- # FIXME &mt() missing!
- $status .= ' You were required to pass '.$counts->{'opt_req'}.
- ' optional ';
- if ($counts->{'opt_dim'} + $counts->{'man_dim'} < 1) {
- $status .=
- ($counts->{'opt_req'} == 1?'criterion':'criteria');
- } else {
- $status .=
- 'component'.($counts->{'opt_req'} == 1?'':'s');
- }
- $status .= '.';
+ if ($counts->{'opt_dim'} + $counts->{'man_dim'} < 1) {
+ $status .= ' '.&mt('You were required to pass [quant,_1,optional criterion,optional criteria].',$counts->{'opt_req'});
+ } else {
+ $status .= ' '.&mt('You were required to pass [quant,_1,optional component].',$counts->{'opt_req'});
+ }
}
return $status;
}
@@ -2987,13 +2996,13 @@ sub layout_webgrade_Criteria {
my $link=&link($id);
my $version = &get_version();
my $status = &get_criteria('status',$version,$dim,$id);
- my %lt = ( 'ungraded' => 'Ungraded',
- 'fail' => 'Fail',
- 'pass' => 'Pass',
- 'review' => 'Review',
- 'comment' => 'Additional Comment for Student',
- );
- %lt = &Apache::lonlocal::texthash(%lt);
+ my %lt = &Apache::lonlocal::texthash(
+ 'ungraded' => 'Ungraded',
+ 'fail' => 'Fail',
+ 'pass' => 'Pass',
+ 'review' => 'Review',
+ 'comment' => 'Additional Comment for Student',
+ );
my $comment = &get_criteria('comment',$version,$dim,$id);
$comment = &HTML::Entities::encode($comment,'<>"&');
my %checked;
@@ -3139,33 +3148,45 @@ sub proctor_validation_screen {
if (!$env{'form.proctordomain'}) { $env{'form.proctordomain'}=$domain; }
my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});
$uri = &HTML::Entities::encode($uri,'<>&"');
- # FIXME &mt() missing!
+ my %lt = &Apache::lonlocal::texthash(
+ 'prva' => "Proctor Validation",
+ 'yoro' => "Your room's proctor needs to validate your access to this resource.",
+ 'prus' => "Proctor's Username:",
+ 'pasw' => "Password:",
+ 'prdo' => "Proctor's Domain:",
+ 'vali' => 'Validate',
+ 'stui' => "Student who should be logged in is:",
+ 'name' => "Name:",
+ 'sid' => "Student/Employee ID:",
+ 'unam' => "Username:",
+ );
my $result= (<Proctor Validation
- Your room's proctor needs to validate your access to this resource.
+$lt{'prva'}
+ $lt{'yoro'}
$msg
ENDCHECKOUT
+
return $result;
}