--- loncom/interface/lonwhatsnew.pm 2005/06/03 19:33:37 1.16
+++ loncom/interface/lonwhatsnew.pm 2005/07/08 10:39:49 1.22
@@ -1,5 +1,5 @@
#
-# $Id: lonwhatsnew.pm,v 1.16 2005/06/03 19:33:37 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.22 2005/07/08 10:39:49 www 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;
@@ -177,19 +178,23 @@ sub display_actions_box() {
}
my %threshold = (
- av_attempts => 0,
- degdiff => 0.01,
- numstudents => 0,
+ av_attempts => 2,
+ degdiff => 0.5,
+ numstudents => 2,
);
my $pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain);
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') {
@@ -381,7 +386,7 @@ END
} else {
$rowColor = $rowColor2;
}
- $r->print(''.$mailcount.'. | '.$msg->{'shortsub'}.' | '.$msg->{'from'}.'@'.$msg->{'fromdom'}.' | '.$msg->{'sendtime'}.' |
');
+ $r->print(''.$mailcount.'. | '.$msg->{'shortsub'}.' | '.$msg->{'from'}.'@'.$msg->{'fromdom'}.' | '.$msg->{'sendtime'}.' |
');
$rowNum ++;
$mailcount ++;
}
@@ -527,7 +532,7 @@ sub getitems {
$$res_title{$symb} = $title;
my $ressymb = $resource->wrap_symb();
# Check for unread discussion postings
- if (defined($discussiontime{$ressymb})) {
+ if ($resource->hasDiscussion()) {
push(@discussions,$ressymb);
my $prevread = 0;
my $unreadcount = 0;
@@ -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) {