[LON-CAPA-cvs] cvs: loncom /interface lonwhatsnew.pm
raeburn
lon-capa-cvs@mail.lon-capa.org
Tue, 20 Dec 2005 15:56:38 -0000
This is a MIME encoded message
--raeburn1135094198
Content-Type: text/plain
raeburn Tue Dec 20 10:56:38 2005 EDT
Modified files:
/loncom/interface lonwhatsnew.pm
Log:
Interface improvements. Less logging of error messages: now only for failed stores of whatsnew page options.
--raeburn1135094198
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20051220105638.txt"
Index: loncom/interface/lonwhatsnew.pm
diff -u loncom/interface/lonwhatsnew.pm:1.39 loncom/interface/lonwhatsnew.pm:1.40
--- loncom/interface/lonwhatsnew.pm:1.39 Mon Dec 19 16:39:37 2005
+++ loncom/interface/lonwhatsnew.pm Tue Dec 20 10:56:38 2005
@@ -1,5 +1,5 @@
#
-# $Id: lonwhatsnew.pm,v 1.39 2005/12/19 21:39:37 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.40 2005/12/20 15:56:38 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -90,28 +90,28 @@
({href=>'/adm/whatsnew?command=chgthreshold&refpage='.$refpage,
text=>"Change thresholds"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Course Action Items','Course_Action_Items_Thresholds'));
+ (undef,"What's New?",'Course_Action_Items_Thresholds'));
} elsif (($command eq 'chginterval') && (&Apache::lonnet::allowed('vgr',$env{'request.course.id'}))) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/whatsnew?command=chginterval&refpage='.$refpage,
text=>"Change interval"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Course Action Items','Course_Action_Items_Intervals'));
+ (undef,"What's New?",'Course_Action_Items_Intervals'));
} elsif (($command eq 'chgdisc') && (&Apache::lonnet::allowed('pch',$env{'request.course.id'}))) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/whatsnew?command=chgdisc&refpage='.$refpage,
text=>"Change discussion display"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Course Action Items','Course_Action_Items_Intervals'));
+ (undef,"What's New?",'Course_Action_Items_Intervals'));
} elsif ($command eq 'courseinit') {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>'/adm/whatsnew?command=courseinit&refpage='.$refpage,
text=>"Course initialization preference"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Course Action Items','Course_Action_Items_Initialization'));
+ (undef,"What's New?",'Course_Action_Items_Initialization'));
} else {
$r->print(&Apache::lonhtmlcommon::breadcrumbs
- (undef,'Course Action Items','Course_Action_Items_Display'));
+ (undef,"What's New?",'Course_Action_Items_Display'));
}
&display_main_box($r,$command,$refpage,\%checkallowed);
return OK;
@@ -126,7 +126,8 @@
sub display_main_box {
my ($r,$command,$refpage,$checkallowed) = @_;
my $domain=&Apache::loncommon::determinedomain();
- my $tabbg=&Apache::loncommon::designparm('coordinator.tabbg',$domain);
+ my $function = &Apache::loncommon::get_users_function();
+ my $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain);
$r->print('<table width="100%" border="0" cellpadding="5" cellspacing="0"><tr><td width="100%">');
my %threshold_titles = &Apache::lonlocal::texthash (
@@ -164,7 +165,7 @@
} elsif ($command eq 'courseinit') {
&courseinit_config($r,$refpage,\%initpage);
} else {
- &display_actions_box($r,$command,$refpage,\%threshold_titles,
+ &display_actions_box($r,$tabbg,$command,$refpage,\%threshold_titles,
\%interval_titles,\%initpage,$cdom,$crs,$checkallowed);
}
$r->print(<<END_OF_BLOCK);
@@ -227,8 +228,8 @@
#-------------------------------
sub display_actions_box {
- my ($r,$command,$refpage,$threshold_titles,$interval_titles,$initpage,
- $cdom,$crs,$checkallowed) = @_;
+ my ($r,$tabbg,$command,$refpage,$threshold_titles,$interval_titles,
+ $initpage,$cdom,$crs,$checkallowed) = @_;
my $rowColor1 = "#ffffff";
my $rowColor2 = "#eeeeee";
@@ -263,15 +264,6 @@
my $needitems = 0;
my $boxcount = 0;
- my $domain=&Apache::loncommon::determinedomain();
- my $function;
- if ($env{'request.role'}=~/^(cc|in|ta|ep)/) {
- $function='coordinator';
- }
- if ($env{'request.role'}=~/^(su|dc|ad|li)/) {
- $function='admin';
- }
-
my $result;
if ($command eq 'newcourseinit') {
$result = &store_courseinit_setting($uname,$udom,$cid,$initpage);
@@ -284,7 +276,7 @@
);
my %pagedesc = &Apache::lonlocal::texthash (
firstres => 'First resource',
- whatsnew => "What's New page",
+ whatsnew => "What's New? page",
userpref => 'user preference',
coursespecific => 'course only',
default => 'default',
@@ -293,9 +285,6 @@
my ($initcontrol,$initdisp) = &curr_courseinit();
my $currinit = $pagedesc{$initdisp}.' ('.$pagedesc{$initcontrol}.')';
- my $pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain);
- my $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain);
-
unless ($cid) {
$r->print('<br /><b><center>'.$lt{'yacc'}.'</center></b><br /><br />');
return;
@@ -413,12 +402,17 @@
$r->print('<input type="hidden" name="refpage" value="'.$refpage.'"></form><br /><table border="0" width="100%" cellpadding="2" cellspacing="4"><tr><td align="left" valign="top" width="45%">');
my $displayed = 0;
- my $totalboxes = keys(%{$checkallowed});
+ my $totalboxes = 0;
+ foreach my $key (keys(%{$checkallowed})) {
+ if ($$checkallowed{$key}) {
+ $totalboxes ++;
+ }
+ }
my $halfway = int($totalboxes/2) + $totalboxes%2;
foreach my $actionitem (@actionorder) {
if ($$checkallowed{$actionitem}) {
if ($displayed == $halfway) {
- $r->print('</td><td width="5%"> </td><td align="left" valign="top" width="50%">');
+ $r->print('</td><td width="6%"> </td><td align="left" valign="top" width="47%">');
}
&display_launcher($r,$actionitem,$refpage,$checkallowed,$tabbg,$rowColor1,$rowColor2,\%show,\%headings,\%res_title,\@tograde,\%ungraded,\@bombs,\%bombed,\%changed,\@warnings,\%triggered,\@newdiscussions,\%unread,$msgcount,\@newmsgs,$critmsgcount,\@critmsgs,$interval,$countunread);
$displayed ++;
@@ -625,17 +619,19 @@
sub curr_courseinit {
my $current = &get_current($env{'user.name'},$env{'user.domain'},
$env{'request.course.id'},'courseinit');
- my %userenv = &Apache::lonnet::get('environment',['course_init_display']);
my $control;
- if ($current eq '') {
+ if ($current) {
+ $control = 'coursespecific';
+ } else {
$control = 'userpref';
- if (exists($userenv{'firstres'})) {
- $current = 'firstres';
- } else {
+ my %userenv = &Apache::lonnet::get('environment',
+ ['course_init_display']);
+ if (exists($userenv{'course_init_display'})) {
+ $current = $userenv{'course_init_display'};
+ }
+ unless ($current) {
$current = 'whatsnew';
}
- } else {
- $control = 'coursespecific';
}
return ($control,$current);
}
@@ -942,7 +938,7 @@
$uname,$cid.':threshold');
my $thresholdcount = 0;
my ($tmp) = %thresholdsettings;
- unless ($tmp =~ /^Error/) {
+ unless ($tmp =~ /^(con_lost|error|no_such_host)/i) {
foreach my $item (keys %{$threshold}) {
if (exists($thresholdsettings{$cid.':threshold_'.$item})) {
$$threshold{$item} =
@@ -957,7 +953,7 @@
my %coursesettings = &Apache::lonnet::dump('environment',
$cdom,$crs,'internal.threshold');
my ($temp) = %coursesettings;
- unless ($temp =~ /^Error/) {
+ unless ($temp =~ /^(con_lost|error|no_such_host)/i) {
foreach my $item (keys %{$threshold}) {
unless (exists($thresholdsettings{$cid.':threshold_'.$item})) {
if (exists($coursesettings{'internal.threshold_'.$item})) {
@@ -976,10 +972,7 @@
my %settings = &Apache::lonnet::dump('nohist_whatsnew',$udom,$uname,$cid.
':'.$caller);
my ($tmp) = %settings;
- if ($tmp =~ /^Error/) {
- &logthis('Error retrieving '.$caller.' setting from nohist_whatsnew for '.
- $uname.";".$udom.' in '.$cid);
- } else {
+ unless ($tmp =~ /^(con_lost|error|no_such_host)/i) {
$currvalue = $settings{$cid.':'.$caller};
}
return $currvalue;
@@ -1121,10 +1114,7 @@
my ($cdom,$crs,$navmap,$changed,$starttime) = @_;
my %changes=&Apache::lonnet::dump('versionupdate',$cdom,$crs);
my ($tmp) = keys(%changes);
- if ($tmp =~/^error\:/) {
- &Apache::lonnet::logthis('Error retrieving version update information: '.
- $tmp.' for '.$cdom.'_'.$crs.' in whatsnew');
- } else {
+ unless ($tmp =~ /^(con_lost|error|no_such_host)/i) {
if (keys(%changes) > 0) {
foreach my $key (sort(keys(%changes))) {
if ($changes{$key} > $starttime) {
@@ -1409,7 +1399,7 @@
my ($uname,$udom,$cid) = @_;
my %settings = &Apache::lonnet::dump('nohist_whatsnew',$udom,$uname,$cid);
my ($tmp) = keys(%settings);
- if ($tmp=~/^error:/) {
+ if ($tmp=~ /^(con_lost|error|no_such_host)/i) {
%settings = ();
unless ($tmp eq 'error: 2 tie(GDBM) Failed while attempting dump') {
&logthis('Error retrieving whatsnew settings: '.$tmp.' for '.
@@ -1564,20 +1554,26 @@
</td>
</tr>');
if (($caller eq 'abovethreshold') && ($$show{$caller})) {
- $r->print('
+ if ($$show{$caller}) {
+ $r->print('
<tr>
<td bgcolor="'.$tabbg.'" align="right"><a href="/adm/whatsnew?command=chgthreshold&refpage='.$refpage.'"><b><small>'.$lt{'chth'}.'</small></b></a></td>
</tr>');
+ }
} elsif (($caller eq 'versionchanges') && ($$show{$caller})) {
- $r->print('
+ if ($$show{$caller}) {
+ $r->print('
<tr>
<td bgcolor="'.$tabbg.'" align="right"><a href="/adm/whatsnew?command=chginterval&refpage='.$refpage.'"><b><small>'.$lt{'chin'}.'</small></b></a></td>
</tr>');
+ }
} elsif ($caller eq 'coursediscussion') {
- $r->print('
+ if ($$show{$caller}) {
+ $r->print('
<tr>
<td bgcolor="'.$tabbg.'" align="right"><a href="/adm/whatsnew?command=chgdisc&refpage='.$refpage.'"><b><small>'.$lt{'chop'}.'</small></b></a></td>
</tr>');
+ }
}
$r->print('
<tr>
--raeburn1135094198--