--- loncom/interface/lonwhatsnew.pm 2008/04/30 23:52:00 1.77
+++ loncom/interface/lonwhatsnew.pm 2008/12/21 16:41:15 1.80.2.3
@@ -1,5 +1,5 @@
#
-# $Id: lonwhatsnew.pm,v 1.77 2008/04/30 23:52:00 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.80.2.3 2008/12/21 16:41:15 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -169,19 +169,19 @@ sub display_main_box {
degdiff => 'Degree of difficulty',
numstudents => 'Total number of students with submissions',
);
- my %versions = &Apache::lonlocal::texthash (
+ my %versions = (
-1 => "version changes since start of $lctype",
2592000 => 'version changes since last month',
604800 => 'version changes since last week',
86400 => 'version changes since yesterday',
);
- my %newroles = &Apache::lonlocal::texthash (
+ my %newroles = (
-1 => "roles which have become active since start of $lctype",
2592000 => 'roles which have become active since last month',
604800 => 'roles which have become active since last week',
86400 => 'roles which have become active since yesterday',
);
- my %oldroles = &Apache::lonlocal::texthash (
+ my %oldroles = (
-1 => "roles which expired since start of $lctype",
2592000 => 'roles which expired since last month',
604800 => 'roles which expired since last week',
@@ -352,10 +352,8 @@ sub display_actions_box {
}
$r->print(&mt('Page set to be displayed after you have selected a role in this '.$lctype).'.'
.' '
- .&mt('Currently: [_1] ',$currinit)
- .'. '
-# &mt('Change for just this '.$lctype.' ',$refpage).' '.
-# &mt('or for all your courses .',$refpage).'
');
+ .&mt('Currently: [_1].',''.$currinit.' ')
+ .' '
.&mt('Change for just [_1]this course[_2]'
.' or for all [_3]your courses[_2].'
,''
@@ -402,13 +400,13 @@ sub display_actions_box {
);
if ($timediff{'versions'} == -1) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since start of '.$lctype;
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since start of '.$lctype);
} elsif ($timediff{'versions'} == 2592000) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since last month';
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since last month');
} elsif ($timediff{'versions'} == 604800) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since last week';
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since last week');
} elsif ($timediff{'versions'} == 86400) {
- $headings{'versionchanges'} = 'Resources in '.$lctype.' with version changes since yesterday';
+ $headings{'versionchanges'} = &mt('Resources in '.$lctype.' with version changes since yesterday');
}
$timediff{'oldroles'} = $display_settings{$cid.':oldroleinterval'};
@@ -416,13 +414,13 @@ sub display_actions_box {
$interval{'oldroles'} = $interval_titles->{'oldroles'}->{$timediff{'oldroles'}};
if ($timediff{'oldroles'} == -1) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since start of '.$lctype;
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since start of '.$lctype);
} elsif ($timediff{'oldroles'} == 2592000) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since last month';
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since last month');
} elsif ($timediff{'oldroles'} == 604800) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since last week';
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since last week');
} elsif ($timediff{'oldroles'} == 86400) {
- $headings{'oldroles'} = 'Roles for which access to '.$lctype.' has expired since yesterday';
+ $headings{'oldroles'} = &mt('Roles for which access to '.$lctype.' has expired since yesterday');
}
$timediff{'newroles'} = $display_settings{$cid.':newroleinterval'};
@@ -430,13 +428,13 @@ sub display_actions_box {
$interval{'newroles'} = $interval_titles->{'newroles'}->{$timediff{'newroles'}};
if ($timediff{'newroles'} == -1) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since start of '.$lctype;
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since start of '.$lctype);
} elsif ($timediff{'newroles'} == 2592000) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since last month';
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since last month');
} elsif ($timediff{'newroles'} == 604800) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since last week';
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since last week');
} elsif ($timediff{'newroles'} == 86400) {
- $headings{'newroles'} = 'Roles for which access to '.$lctype.' has become available since yesterday';
+ $headings{'newroles'} = &mt('Roles for which access to '.$lctype.' has become available since yesterday');
}
my $now = time;
@@ -464,9 +462,9 @@ sub display_actions_box {
}
$headings{'abovethreshold'} =
- &mt('Problems with av. attempts ≥ [_1] or deg. difficulty ≥ [_2] and total number of '.$stulabel{$crstype}.' with submissions ≥ [_3]',
+ &mt('(Problems with av. attempts ≥ [_1] or deg. difficulty ≥ [_2]) [_3] and total number of '.$stulabel{$crstype}.' with submissions ≥ [_4]',
$threshold{'av_attempts'},$threshold{'degdiff'},
- $threshold{'numstudents'});
+ ' ',$threshold{'numstudents'});
my @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles');
@@ -490,8 +488,9 @@ sub display_actions_box {
}
}
+ my $itemserror;
if ($needitems) {
- &getitems(\%unread,\%ungraded,\%bombed,\%triggered,\%changed,\@newdiscussions,\@tograde,\@bombs,\@warnings,\%threshold,$cdom,$crs,\%res_title,\%show,$starttime,$countunread);
+ $itemserror = &getitems(\%unread,\%ungraded,\%bombed,\%triggered,\%changed,\@newdiscussions,\@tograde,\@bombs,\@warnings,\%threshold,$cdom,$crs,\%res_title,\%show,$starttime,$countunread);
}
if ($show{'coursenormalmail'}) {
$msgcount = &getnormalmail(\@newmsgs);
@@ -533,7 +532,7 @@ sub display_actions_box {
if ($displayed == $halfway) {
$r->print(' ');
}
- &display_launcher($r,$actionitem,$refpage,$checkallowed,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,\%interval,$countunread,\%expired,$expirecount,\%activated,$activecount,$crstype);
+ &display_launcher($r,$actionitem,$refpage,$checkallowed,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,\%interval,$countunread,\%expired,$expirecount,\%activated,$activecount,$crstype,$itemserror);
$displayed ++;
}
}
@@ -637,12 +636,12 @@ sub display_interval_config {
'.
&mt('Display:').'
-Select
+'.&mt('Select').'
');
if (ref($interval_titles) eq 'HASH') {
if (ref($interval_titles->{$context}) eq 'HASH') {
foreach my $key (reverse sort ({$a cmp $b} (keys(%{$interval_titles->{$context}})))) {
- $r->print(''.$interval_titles->{$context}->{$key}.
+ $r->print(' '.&mt($interval_titles->{$context}->{$key}).
' '."\n");
}
}
@@ -689,9 +688,9 @@ function toggle_countunread(choice) {
$r->print('
-  
- '.
+ (' ' x7).
+ '
');
@@ -780,23 +779,23 @@ sub display_launcher {
$tograde,$ungraded,$bombs,$bombed,$changed,$warnings,$triggered,
$newdiscussions,$unread,$msgcount,$newmsgs,$critmsgcount,$critmsgs,
$interval,$countunread,$expired,$expirecount,$activated,$activecount,
- $crstype) = @_;
+ $crstype,$itemserror) = @_;
if ($$checkallowed{$action}) {
&start_box($r,$show,$headings,$action,$refpage,$action);
if ($$show{$action}) {
if ($action eq 'handgrading') { # UNGRADED ITEMS
- &display_handgrade($r,$tograde,$ungraded);
+ &display_handgrade($r,$tograde,$ungraded,$itemserror);
} elsif ($action eq 'haserrors') { # BOMBS
- &display_haserrors($r,$bombs,$bombed,$res_title);
+ &display_haserrors($r,$bombs,$bombed,$res_title,$itemserror);
} elsif ($action eq 'versionchanges') { # VERSION CHANGES
- &display_versionchanges($r,$changed,$res_title,$interval->{'versions'});
+ &display_versionchanges($r,$changed,$res_title,$interval->{'versions'},$itemserror);
} elsif ($action eq 'abovethreshold') { # DEGDIFF/AV. TRIES TRIGGERS
&display_abovethreshold($r,$refpage,$warnings,$triggered,
- $res_title);
+ $res_title,$itemserror);
} elsif ($action eq 'coursediscussion') { # UNREAD COURSE DISCUSSION
&display_coursediscussion($r,$newdiscussions,$unread,
- $countunread,$res_title);
+ $countunread,$res_title,$itemserror);
} elsif ($action eq 'coursenormalmail') { # NORMAL MESSAGES
&display_coursenormalmail($r,$msgcount,$newmsgs);
} elsif ($action eq 'coursecritmail') { # CRITICAL MESSAGES
@@ -819,6 +818,10 @@ sub getitems {
$tograde,$bombs,$warnings,$threshold,$cdom,$crs,$res_title,$show,
$starttime,$countunread) = @_;
my $navmap = Apache::lonnavmaps::navmap->new();
+ if (!defined($navmap)) {
+ my $itemserror = ''.&mt('An error occurred retrieving information about the course.').' '.&mt('It is recommended that you [_1]re-select the course[_2].','',' ').' ';
+ return $itemserror;
+ }
# force retrieve Resource to seed the part id cache we'll need it later
my @allres=$navmap->retrieveResources(undef,
sub {if ($_[0]->is_problem) { $_[0]->parts();} return 1;});
@@ -877,6 +880,7 @@ sub getitems {
}
}
+ return;
}
sub check_discussions {
@@ -1222,8 +1226,8 @@ sub getactivated {
if (ref($changes{$chg}) eq 'HASH') {
my $timestamp = $changes{$chg}{'exe_time'};
if ($timestamp) {
- if ($rolechgtime > -1) {
- if ($now - $rolechgtime < $timestamp) {
+ if ($rolechgtime > 0) {
+ if ($timestamp < $rolechgtime) {
last;
}
}
@@ -1440,7 +1444,7 @@ sub checkversions {
}
sub display_handgrade {
- my ($r,$tograde,$ungraded) = @_;
+ my ($r,$tograde,$ungraded,$itemserror) = @_;
my %lt = &Apache::lonlocal::texthash(
'prna' => 'Problem Name',
'nmun' => 'Number ungraded',
@@ -1463,13 +1467,15 @@ sub display_handgrade {
}
$r->print(''.$$ungraded{$res}{title}.' '.$$ungraded{$res}{count}.' ');
}
+ } elsif ($itemserror) {
+ $r->print(''.$itemserror.' ');
} else {
$r->print(''.$lt{'nopr'}.' ');
}
}
sub display_haserrors {
- my ($r,$bombs,$bombed,$res_title) = @_;
+ my ($r,$bombs,$bombed,$res_title,$itemserror) = @_;
my $bombnum = 0;
my %lt = &Apache::lonlocal::texthash(
reso => 'Resource',
@@ -1488,6 +1494,8 @@ sub display_haserrors {
' '.
$$bombed{$bomb}{errorcount}.' ');
}
+ } elsif ($itemserror) {
+ $r->print(''.$itemserror.' ');
} else {
$r->print(''.$lt{'noer'}.' ');
}
@@ -1495,7 +1503,7 @@ sub display_haserrors {
}
sub display_abovethreshold {
- my ($r,$refpage,$warnings,$triggered,$res_title) = @_;
+ my ($r,$refpage,$warnings,$triggered,$res_title,$itemserror) = @_;
my %lt = &Apache::lonlocal::texthash(
reso => 'Resource',
part => 'Part',
@@ -1551,19 +1559,20 @@ sub display_abovethreshold {
}
}
$r->print(' ');
+ } elsif ($itemserror) {
+ $r->print(''.$itemserror.' ');
} else {
$r->print(''.$lt{'nopr'}.' ');
}
}
sub display_versionchanges {
- my ($r,$changed,$res_title,$interval) = @_;
+ my ($r,$changed,$res_title,$interval,$itemserror) = @_;
my %lt = &Apache::lonlocal::texthash(
'reso' => 'Resource',
'revd' => 'Last revised',
'newv' => 'New version',
'veru' => 'Version used',
- 'noup' => 'No',
);
if (keys(%{$changed}) > 0) {
$r->print(''.
@@ -1585,9 +1594,11 @@ sub display_versionchanges {
$$changed{$item}{'current'}.' '.
$$changed{$item}{'version'}.' ');
}
+ } elsif ($itemserror) {
+ $r->print(''.$itemserror.' ');
} else {
- $r->print(''.$lt{'noup'}.
- ' '.$interval.' ');
+ $r->print(''
+ .&mt('No '.$interval).' ');
}
return;
}
@@ -1601,7 +1612,6 @@ sub display_rolechanges {
'role' => 'Role',
'sec' => 'Section',
'status' => 'Status',
- 'norc' => 'There are no ',
);
if ($chgcount) {
$r->print(''.
@@ -1644,14 +1654,14 @@ sub display_rolechanges {
}
}
} else {
- $r->print(' '.$lt{'norc'}.
- ' '.$interval.' ');
+ $r->print(''
+ .&mt('There are no '.$interval).' ');
}
return;
}
sub display_coursediscussion {
- my ($r,$newdiscussions,$unread,$countunread,$res_title) = @_;
+ my ($r,$newdiscussions,$unread,$countunread,$res_title,$itemserror) = @_;
my $lctype = lc(&Apache::loncommon::course_type());
my %lt = &Apache::lonlocal::texthash(
'loca' => 'Location',
@@ -1699,6 +1709,8 @@ sub display_coursediscussion {
}
$r->print("\n");
}
+ } elsif ($itemserror) {
+ $r->print(''.$itemserror.' ');
} else {
$r->print(''.$lt{'noun'}.' ');
}