--- loncom/homework/bridgetask.pm 2006/11/28 16:36:04 1.211
+++ loncom/homework/bridgetask.pm 2007/01/10 21:46:24 1.216
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: bridgetask.pm,v 1.211 2006/11/28 16:36:04 albertel Exp $
+# $Id: bridgetask.pm,v 1.216 2007/01/10 21:46:24 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -98,6 +98,7 @@ sub check_in {
&check_in_sequence($user,$domain,$slot_name);
} else {
&create_new_version($type,$user,$domain,$slot_name);
+ &Apache::structuretags::finalize_storage($res->symb);
}
return 1;
}
@@ -1061,27 +1062,30 @@ DONEBUTTON
$start_time=&Apache::lonlocal::locallocaltime($start_time);
my $status =
- "\n
\n\t";
+ "\n
\n\t";
+ my $dim = $top;
+ my %counts = &get_counts($dim,undef,$parstack,
+ $safeeval);
+ my $question_status ="\n\t
".
+ &question_status_message(\%counts,-1).
+ "
\n";
+
if ($bt_status eq 'pass') {
$status.='
You passed the '.$title.' given on '.
$start_time.'
';
+ $status.=$question_status;
}
if ($bt_status eq 'fail') {
$status.='
You did not pass the '.$title.' given on '.
$start_time.'
';
+ $status.=$question_status;
if (!$previous) {
$status.=&add_request_another_attempt_button();
}
}
- $status.="\n".'
'."\n";
- my $dim = $top;
- my %counts = &get_counts($dim,undef,$parstack,
- $safeeval);
- $status.="\n
\n\t
".
- &question_status_message(\%counts,-1).
- "
\n
\n";
+ $status.="\n".'
'."\n";
foreach my $id (@{$dimension{$dim}{'criterias'}}) {
my $type = $dimension{$dim}{'criteria.'.$id.'.type'};
@@ -1113,7 +1117,8 @@ DONEBUTTON
}
- if ($target eq 'grade' && !$env{'form.webgrade'} && !$previous) {
+ if ($target eq 'grade' && !$env{'form.webgrade'} && !$previous
+ && $status eq 'CAN_ANSWER') {
my $award='SUBMITTED';
&Apache::essayresponse::file_submission("$version.0",'bridgetask',
'portfiles',\$award);
@@ -1574,8 +1579,16 @@ sub show_queue {
my $ekey=&escape($key);
my ($action,$description,$status)=('select',&mt('Select'));
if (exists($queue{"$key\0locked"})) {
+ my $locker = $queue{"$key\0locked"};
+ my $time;
+ if (ref($queue{"$key\0locked"}) eq 'ARRAY') {
+ ($locker, $time) = @{$queue{"$key\0locked"}};
+ $time =
+ &Apache::lonnavmaps::timeToHumanString($time,
+ 'start');
+ }
my $me=$env{'user.name'}.':'.$env{'user.domain'};
- $status=&mt('Locked by [_1]',$queue{"$key\0locked"});
+ $status=&mt('Locked by [_1] [_2]',$locker,$time);
if ($me eq $queue{"$key\0locked"}) {
($action,$description)=('resume',&mt('Resume'));
} else {
@@ -1794,7 +1807,7 @@ sub lock_key {
my (undef,$cid)=&Apache::lonnet::whichuser();
my $cnum=$env{'course.'.$cid.'.num'};
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);
&Apache::lonxml::debug("success $success $todo");
if ($success eq 'ok') {
@@ -2250,13 +2263,15 @@ sub end_Dimension {
}
my $dim_info=
"\n\n\t";
- my $question = ('sub' x $dimension{$dim}{'depth'}).'question';
- $question =~ s/^(.)/uc($1)/e;
+ my $ucquestion =
+ my $question =
+ ('sub' x $dimension{$dim}{'depth'}).'question';
+ $ucquestion =~ s/^(.)/uc($1)/e;
if ($dim_status eq 'pass') {
- $dim_info.='
'.$question.' : you passed the above '.$mandatory.' question
';
+ $dim_info.=''.$ucquestion.' : you passed the above '.$mandatory.' '.$question.'
';
}
if ($dim_status eq 'fail') {
- $dim_info.=''.$question.' : you did not pass the above '.$mandatory.' question
';
+ $dim_info.=''.$ucquestion.' : you did not pass the above '.$mandatory.' '.$question.'
';
}
my %counts = &get_counts($dim,$instance,$parstack,
$safeeval);
@@ -2429,7 +2444,7 @@ sub question_status_message {
foreach my $type ('cri','dim') {
if ($counts->{$req.'_'.$type}) {
push(@sections,
- $counts->{$req.'_'.$type.'_passed'}.' of '.
+ $counts->{$req.'_'.$type.'_passed'}.' of the '.
$counts->{$req.'_'.$type}.' '.
$req{$req}.' '.$type{$type});
}