--- loncom/homework/structuretags.pm 2009/11/18 20:47:52 1.460 +++ loncom/homework/structuretags.pm 2010/08/09 23:39:50 1.461.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.460 2009/11/18 20:47:52 droeschl Exp $ +# $Id: structuretags.pm,v 1.461.2.1 2010/08/09 23:39:50 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -254,15 +254,18 @@ sub page_start { my $page_start = &Apache::loncommon::start_page($name,$extra_head, \%body_args); $page_start .= $pageheader; - if (!defined($found{'body'}) - && $env{'request.state'} ne 'construct' - && ($target eq 'web' || $target eq 'webgrade')) { - - my ($symb,undef,undef,undef,$publicuser)= &Apache::lonnet::whichuser(); - if ($symb eq '' && !$publicuser) { - $page_start .= '

' - .&mt('Browsing resource, all submissions are temporary.') - .'

'; + + unless ($env{'request.gcicontext'} eq 'buildtest') { + if (!defined($found{'body'}) + && $env{'request.state'} ne 'construct' + && ($target eq 'web' || $target eq 'webgrade')) { + + my ($symb,undef,undef,undef,$publicuser)= &Apache::lonnet::whichuser(); + if ($symb eq '' && !$publicuser) { + $page_start .= '

' + .&mt('Browsing resource, all submissions are temporary.') + .'

'; + } } } @@ -651,7 +654,11 @@ item store_aggregates() sub store_aggregates { my ($symb,$courseid) = @_; - my %aggregate; + my (%aggregate,%subtracker); + my $tracksub; + if ($symb =~ m{^uploaded/gcitest/$LONCAPA::match_courseid/default_1261144274.sequence___\d+___gci/gci/}) { + $tracksub = 1; + } my @parts; my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; @@ -666,6 +673,9 @@ sub store_aggregates { $Apache::lonhomework::results{'resource.'.$part.'.award'} eq 'EXACT_ANS') { $aggregate{$symb."\0".$part."\0correct"} = 1; + if ($tracksub) { + $subtracker{$env{'user.name'}.':'.$env{'user.domain'}."\0correct"} ++; + } } if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) { $aggregate{$symb."\0".$part."\0users"} = 1; @@ -678,11 +688,22 @@ sub store_aggregates { } } $aggregate{$symb."\0".$part."\0attempts"} = 1; + if ($tracksub) { + if ($Apache::lonhomework::type eq 'survey') { + $subtracker{$env{'user.name'}.':'.$env{'user.domain'}."\0surveysubs"} ++; + } else { + $subtracker{$env{'user.name'}.':'.$env{'user.domain'}."\0attempts"} ++; + } + } } if (keys (%aggregate) > 0) { &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate, $cdomain,$cname); } + if (keys(%subtracker) > 0) { + &Apache::lonnet::cinc('nohist_submissiontracker',\%subtracker, + $cdomain,$cname); + } } sub checkout_msg { @@ -914,28 +935,34 @@ sub start_problem { if ($env{'request.state'} ne "construct" && ($symb eq '' || $Apache::lonhomework::type eq 'practice')) { $form_tag_start.=''. - ''; + $rndseed.'" />'; + unless ($env{'request.gcicontext'} eq 'buildtest') { + $form_tag_start .= ''; + } if (exists($env{'form.username'})) { $form_tag_start.= ''; } - if ($env{'request.role.adv'}) { - $form_tag_start.= '