[LON-CAPA-cvs] cvs: loncom /interface lonwhatsnew.pm
raeburn
lon-capa-cvs@mail.lon-capa.org
Fri, 03 Jun 2005 19:33:39 -0000
raeburn Fri Jun 3 15:33:39 2005 EDT
Modified files:
/loncom/interface lonwhatsnew.pm
Log:
Sort reources by title when displaying resources with errors, unread discussions etc.
Index: loncom/interface/lonwhatsnew.pm
diff -u loncom/interface/lonwhatsnew.pm:1.15 loncom/interface/lonwhatsnew.pm:1.16
--- loncom/interface/lonwhatsnew.pm:1.15 Wed Jun 1 15:24:50 2005
+++ loncom/interface/lonwhatsnew.pm Fri Jun 3 15:33:37 2005
@@ -1,5 +1,5 @@
#
-# $Id: lonwhatsnew.pm,v 1.15 2005/06/01 19:24:50 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.16 2005/06/03 19:33:37 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -165,6 +165,7 @@
my @tograde = ();
my @bombs = ();
my @warnings = ();
+ my %res_title = ();
my $domain=&Apache::loncommon::determinedomain();
my $function;
@@ -201,7 +202,7 @@
}
&get_curr_thresholds(\%threshold,$cdom,$crs);
- &getitems(\%unread,\%ungraded,\%bombed,\%triggered,\@newdiscussions,\@tograde,\@bombs,\@warnings,$rowColor1,$rowColor2,\%threshold,$cdom,$crs);
+ &getitems(\%unread,\%ungraded,\%bombed,\%triggered,\@newdiscussions,\@tograde,\@bombs,\@warnings,$rowColor1,$rowColor2,\%threshold,$cdom,$crs,%res_title);
my ($msgcount,$critmsgcount) = &getmail(\@newmsgs,\@critmsgs);
$r->print('<br /><table border="0" width="100%" cellpadding="2" cellspacing="4"><tr><td align="left" valign="top" width="45%">');
@@ -255,7 +256,7 @@
my $bombnum = 0;
if (@bombs > 0) {
$r->print('<tr bgcolor="#cccccc"><td><b><small>Resource</small></b></td><td align="right"><b><small>Number of errors</small></b></td></tr>');
-# @bombs = sort { &cmp_title($a,$b) } @bombs;
+ @bombs = sort { &cmp_title($a,$b,\%res_title) } @bombs;
foreach my $bomb (@bombs) {
if ($bombnum %2 == 1) {
$rowColor = $rowColor1;
@@ -284,11 +285,11 @@
</tr>
<tr>
<td bgcolor="#ffffff">
- <table width="100%" cellspacing="0" cellpadding="0" border="0">
+ <table width="100%" cellspacing="2" cellpadding="2" border="0">
END
my $warningnum = 0;
if (@warnings > 0) {
-# @warnings = sort { &cmp_title($a,$b) } @warnings;
+ @warnings = sort { &cmp_title($a,$b,\%res_title) } @warnings;
$r->print('<form name="reset_tracking" method="post">'.
' <input type="hidden" name="action" value="reset" />'."\n");
$r->print('<tr bgcolor="#cccccc"><td><b><small>Resource</small></b></td><td align="right"><b><small>Part</small></b></td><td align="right"><b><small>Num. students</small></b></td><td align="right"><b><small>Av. Attempts</small></b></td><td align="right"><b><small>Deg. Diff</small></b></td><td align="right"><b><small>Last Reset</small></b></td><td align="right"><b><small>Reset Count?</small></b></td></tr>');
@@ -331,7 +332,7 @@
if (@newdiscussions > 0) {
$r->print('<tr bgcolor="#cccccc"><td><b><small>Location</small></b></td><td><b><small>Type</small></b><td align="right"><b><small>Number of new posts</small></b></td></tr>');
-# @newdiscussions = sort { &cmp_title($a,$b) } @newdiscussions;
+ @newdiscussions = sort { &cmp_title($a,$b,\%res_title) } @newdiscussions;
my $rowNum = 0;
foreach my $ressymb (@newdiscussions) {
my $forum_title = $unread{$ressymb}{'title'};
@@ -496,7 +497,7 @@
}
sub getitems {
- my ($unread,$ungraded,$bombed,$triggered,$newdiscussions,$tograde,$bombs,$warnings,$rowColor1,$rowColor2,$threshold,$cdom,$crs) = @_;
+ my ($unread,$ungraded,$bombed,$triggered,$newdiscussions,$tograde,$bombs,$warnings,$rowColor1,$rowColor2,$threshold,$cdom,$crs,$res_title) = @_;
my $navmap = Apache::lonnavmaps::navmap->new();
my @allres=$navmap->retrieveResources();
my %discussiontime = &Apache::lonnet::dump('discussiontimes',$cdom,$crs);
@@ -508,7 +509,6 @@
my %resourcetracker = &Apache::lonnet::dump('nohist_resourcetracker',
$cdom,$crs);
- my %res_title;
my $warningnum = 0;
foreach my $key (keys(%lastread)) {
my $newkey = $key;
@@ -524,7 +524,7 @@
%{$$triggered{$symb}} = ();
$$triggered{$symb}{numparts} = 0;
my $title = $resource->compTitle();
- $res_title{$symb} = $title;
+ $$res_title{$symb} = $title;
my $ressymb = $resource->wrap_symb();
# Check for unread discussion postings
if (defined($discussiontime{$ressymb})) {
@@ -617,6 +617,7 @@
}
if ($users > 0) {
$av_attempts = $attempts/$users;
+ $av_attempts = sprintf("%.2f",$av_attempts);
}
if ((($degdiff ne '' && $degdiff >= $$threshold{'degdiff'}) || ($av_attempts ne '' && $av_attempts >= $$threshold{'av_attempts'})) && ($users >= $$threshold{'numstudents'})) {
$stats{$part}{degdiff} = $degdiff;
@@ -824,7 +825,8 @@
}
sub cmp_title {
- my ($atitle,$btitle) = (lc($_[0]->compTitle),lc($_[1]->compTitle));
+ my ($a,$b,$res_title) = @_;
+ my ($atitle,$btitle) = (lc($$res_title{$a}),lc($$res_title{$b}));
$atitle=~s/^\s*//;
$btitle=~s/^\s*//;
return $atitle cmp $btitle;