--- loncom/homework/structuretags.pm 2009/10/19 21:16:30 1.459 +++ 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.459 2009/10/19 21:16:30 bisitz Exp $ +# $Id: structuretags.pm,v 1.461.2.1 2010/08/09 23:39:50 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -218,13 +218,15 @@ sub page_start { 'text' => 'Construction Space', 'href' => &Apache::loncommon::authorspace(), }); + # breadcrumbs (and tools) will be created + # in start_page->bodytag->innerregister + # FIXME Where are we? # &Apache::lonhtmlcommon::add_breadcrumb({ # 'text' => 'Problem Editing', # 'Problem Testing' # 'href' => '', # }); - $pageheader = &Apache::lonhtmlcommon::breadcrumbs() - .&Apache::loncommon::head_subbox( + $pageheader =&Apache::loncommon::head_subbox( &Apache::loncommon::CSTR_pageheader()); } } elsif (!defined($found{'body'})) { @@ -252,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.') + .'

'; + } } } @@ -649,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'}; @@ -664,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; @@ -676,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 { @@ -912,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.= '