[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%">&nbsp;</td><td align="left" valign="top" width="50%">');
+                $r->print('</td><td width="6%">&nbsp;</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--