--- loncom/interface/lonwhatsnew.pm 2005/06/03 19:33:37 1.16 +++ loncom/interface/lonwhatsnew.pm 2005/06/07 22:05:11 1.19 @@ -1,5 +1,5 @@ # -# $Id: lonwhatsnew.pm,v 1.16 2005/06/03 19:33:37 raeburn Exp $ +# $Id: lonwhatsnew.pm,v 1.19 2005/06/07 22:05:11 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -35,6 +35,7 @@ use Apache::lonhtmlcommon(); use Apache::lonlocal; use Apache::loncoursedata(); use Apache::lonnavmaps(); +use Apache::lonuserstate; use Apache::Constants qw(:common :http); use Time::Local; @@ -186,10 +187,14 @@ sub display_actions_box() { my $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain); unless ($env{'request.course.id'}) { - $r->print('
You are accessing an invalid course


'); + $r->print('
You are accessing an invalid course.


'); return; } + my ($furl,$ferr)= + &Apache::lonuserstate::readmap($cdom.'/'.$crs); + $r->print('Go to first resource
Change your preferences
to suppress display of this screen when accessing courses as Course Coordinator in the future.

'); + my $result; if ($command eq 'reset') { @@ -556,7 +561,14 @@ sub getitems { if ($resource->is_problem()) { my $ctr = 0; my ($map,$ind,$url)=&Apache::lonnet::decode_symb($symb); - my ($partlist,$handgrade,$responseType) = &Apache::grades::response_type($url,$symb); + my ($partlist,$handgrade,$responseType) = + &Apache::grades::response_type($url,$symb); + my $handgradeable; + foreach my $value (values(%{$handgrade})) { + if ($value eq 'yes') { $handgradeable=1; last; } + } + next if (!$handgradeable); + foreach my $student (keys(%$classlist)) { my ($uname,$udom) = split(/:/,$student); my %status=&Apache::grades::student_gradeStatus($url,$symb,$udom,$uname,$partlist); @@ -623,8 +635,7 @@ sub getitems { $stats{$part}{degdiff} = $degdiff; $stats{$part}{attempts} = $av_attempts; $stats{$part}{users} = $users; - my %resethash = &Apache::lonnet::restore($symb,'nohist_resourcetracker',$cdom,$crs); - $lastreset{$part} = &get_counter_resets(\%resethash,$part); + $lastreset{$part} = $resourcetracker{$symb."\0".$part."\0resettime"}; $warning = 1; } } @@ -665,22 +676,6 @@ sub getitems { } } -sub get_counter_resets { - my ($resethash,$part) = @_; - my $lastreset = 'None'; - if ($$resethash{'version'}) { - for (my $version=1;$version<=$$resethash{'version'};$version++) { - if (exists($$resethash{$version.':'.$part."\0".'prev_attempts'})) { - $lastreset = $$resethash{$version.':timestamp'}; - } - } - } - unless ($lastreset eq 'None') { - $lastreset = localtime($lastreset); - } - return $lastreset; -} - sub get_curr_thresholds { my ($threshold,$cdom,$crs) = @_; my %coursesettings = &Apache::lonnet::dump('environment', @@ -707,22 +702,20 @@ sub process_reset { ); my @resets = (); my %titles = (); - foreach my $key (keys %env) { + foreach my $key (keys(%env)) { next if ($key !~ /^form\.reset_(.+)$/); my $title = &Apache::lonnet::unescape($env{'form.title_'.$1}); my $reset_item = &Apache::lonnet::unescape($1); my %curr_aggregates = &Apache::lonnet::dump('nohist_resourcetracker',$dom,$crs,$reset_item); - my %resethash = (); my %aggregates = (); - my ($symb,$part) = split/\0/,$reset_item; + my ($symb,$part) = split(/\0/,$reset_item); foreach my $type (@agg_types) { $aggregates{$reset_item."\0".$type} = 0; - $resethash{$part."\0".'prev_'.$type} = $curr_aggregates{$reset_item."\0".$type}; } + $aggregates{$reset_item."\0".'resettime'} = time; my $putresult = &Apache::lonnet::put('nohist_resourcetracker',\%aggregates, $dom,$crs); if ($putresult eq 'ok') { - my $storeresult = &Apache::lonnet::cstore(\%resethash,$symb,'nohist_resourcetracker',$dom,$crs); $result .= $title.' -part '.$part.': '; my %new_aggregates = &Apache::lonnet::dump('nohist_resourcetracker',$dom,$crs,$reset_item); foreach my $type (@agg_types) {