[LON-CAPA-cvs] cvs: loncom /interface lonwhatsnew.pm

raeburn lon-capa-cvs@mail.lon-capa.org
Mon, 11 Apr 2005 13:14:00 -0000


This is a MIME encoded message

--raeburn1113225240
Content-Type: text/plain

raeburn		Mon Apr 11 09:14:00 2005 EDT

  Modified files:              
    /loncom/interface	lonwhatsnew.pm 
  Log:
  Simplify interface.  Add breadcrumbs. Work in progress.
  
  
--raeburn1113225240
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20050411091400.txt"

Index: loncom/interface/lonwhatsnew.pm
diff -u loncom/interface/lonwhatsnew.pm:1.6 loncom/interface/lonwhatsnew.pm:1.7
--- loncom/interface/lonwhatsnew.pm:1.6	Mon Apr 11 08:20:23 2005
+++ loncom/interface/lonwhatsnew.pm	Mon Apr 11 09:14:00 2005
@@ -1,5 +1,5 @@
 #
-# $Id: lonwhatsnew.pm,v 1.6 2005/04/11 12:20:23 raeburn Exp $
+# $Id: lonwhatsnew.pm,v 1.7 2005/04/11 13:14:00 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -45,6 +45,11 @@
 
 sub handler {
     my $r = shift;
+    if ($r->header_only) {
+        &Apache::loncommon::content_type($r,'text/html');
+        $r->send_http_header;
+        return OK;
+    }
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['command']);
 
     my $command = $env{'form.command'};
@@ -53,6 +58,8 @@
         $command = "info";
     }
 
+    &Apache::loncommon::content_type($r,'text/html');
+    $r->send_http_header;
     $r->print(&display_header());
     if (! (($env{'request.course.fn'}) && (&Apache::lonnet::allowed('vsa',$env{'request.course.id'})))) {
         # Not in a course, or not allowed to modify parms
@@ -60,6 +67,20 @@
         return HTTP_NOT_ACCEPTABLE;
     }
 
+    &Apache::lonhtmlcommon::clear_breadcrumbs();
+    if ($command eq 'config') {
+        &Apache::lonhtmlcommon::add_breadcrumb
+            ({href=>'/adm/whatsnew?command=config',
+              text=>"Configure display"});
+        $r->print(&Apache::lonhtmlcommon::breadcrumbs
+            (undef,'Course Action Items','Course_Action_Items_Config'));
+    } else {
+        &Apache::lonhtmlcommon::add_breadcrumb
+            ({href=>'/adm/whatsnew?command=info',
+              text=>"Display Action Items"});
+        $r->print(&Apache::lonhtmlcommon::breadcrumbs
+            (undef,'Course Action Items','Course_Action_Items_Display'));
+    }
     &display_main_box($r,$command);
 }
 
@@ -73,63 +94,32 @@
     my ($r,$command) = @_;
     my $domain=&Apache::loncommon::determinedomain();
     my $tabbg=&Apache::loncommon::designparm('coordinator.tabbg',$domain);
-    $r->print(<<END_OF_BLOCK);
-<br />
-<br />
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
-  <td width="100%" bgcolor="#000000">
-   <table width="100%" border="0" cellpadding="1" cellspacing="0">
-    <tr>
-     <td width="100%" bgcolor="#000000">
-      <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#ffffff">
-       <tr>
-        <td colspan="2" width="100%" bgcolor="$tabbg">
-         <table width="100%" border="0" cellpadding="5" cellspacing="0">
-          <tr>
-           <td width="100%">
-            <table width="100%" border="0" cellpadding="0" cellspacing="0">
-             <tr>
-              <td>
-               <font face="arial,verdana" size="3"><b>Course Action Items</b></font></td>
-              </td>
-              <td align="right">&nbsp;
-              </td>
-             </tr>
-            </table>
-           </td>
-          </tr>
-         </table>
-        </td>
-       </tr>
-       <tr>
-        <td width="100" valign="top" bgcolor="#dddddd" height="100%">
-         <table width="100" border="0" cellpadding="0" cellspacing="0" height="100%">
-          <tr>
-           <td valign="top" height="100%">
-END_OF_BLOCK
-    &display_nav_box($r,$command);
-    $r->print('</td></tr></table></td>');
-    $r->print('<td width="100%" bgcolor="#ffffff"><table width="100%" border="0" cellpadding="5" cellspacing="0"><tr><td width="100%">');
- 
+    my $selconfig;
+    my $selinfo;
     if ($command eq 'config') {
-        &display_config_box($r);
+        $selinfo = 'selected="selected"';
     } else {
-        &display_actions_box($r);
+        $selconfig = 'selected="selected"';
+    }
+    my $picker = ('
+<form>
+ <nobr>
+  <input type="submit" value="'.&mt('Change page to:').'" />
+   <select name="command">
+    <option value="info" '.$selinfo.'">'.&mt('Display Action Items').'</option>
+    <option value="" '.$selconfig.'">'.&mt('Configure Settings').'</option>
+   </select>
+ </nobr>
+</form>');
+                                                                               
+    $r->print('<table width="100%" border="0" cellpadding="5" cellspacing="0"><tr><td width="100%">');
+                                                                               
+    if ($command eq 'config') {
+        &display_config_box($r,$picker);
+    } else {
+        &display_actions_box($r,$picker);
     }
     $r->print(<<END_OF_BLOCK);
-              </td>
-             </tr>
-            </table>
-           </td>
-          </tr>
-         </table>
-        </td>
-       </tr>
-      </table>
-     </td>
-    </tr>
-   </table>
   </td>
  </tr>
 </table><br />
@@ -138,37 +128,6 @@
 END_OF_BLOCK
 }
 
-#------------------------------
-# display_nav_box
-#
-# Display the navigation box
-#------------------------------
-                                                                                
-sub display_nav_box {
-    my ($r,$command) = @_;
-    $r->print('<table width="100" border="0" cellpadding="3" cellspacing="0">'."\n");
-    if ($command eq "info") {
-        $r->print('<tr><td bgcolor="#ffffff">');
-        $r->print('<small><b>Action Items</b></small><br />');
-        $r->print('</td></tr>');
-    } else {
-        $r->print('<tr><td>');
-        $r->print('<small><a href="/adm/whatsnew?command=info">Current Action Items</a></small><br />');
-        $r->print('</td></tr>');
-    }
-    $r->print('<tr><td>&nbsp;</td></tr>');
-    if ($command eq "config") {
-        $r->print('<tr><td bgcolor="#ffffff">');
-        $r->print('<small><b>Display options</b></small><br />');
-        $r->print('</td></tr>');
-    } else {
-        $r->print('<tr><td>');
-        $r->print('<small><a href="/adm/whatsnew?command=config">Display options</a></small><br />');
-        $r->print('</td></tr>');
-    }
-    $r->print('</table>');
-}
-
 #-------------------------------
 # display_header
 #
@@ -196,7 +155,7 @@
 #-------------------------------
                                                                                 
 sub display_actions_box() {
-    my $r = shift;
+    my ($r,$picker) = @_;
 
     my $rowColor1 = "#ffffff";
     my $rowColor2 = "#eeeeee";
@@ -231,7 +190,7 @@
         return;
     }
 
-    $r->print('<b>Course Action Items</b><br /><hr width="100%" /><table border="0" width="100%" cellpadding="2" cellspacing="4" bgcolor="#ffffff"><tr><td align="left" valign="top" width="45%">');
+    $r->print('<b>'.$picker.'</b><br /><hr width="100%" /><table border="0" width="100%" cellpadding="2" cellspacing="4"><tr><td align="left" valign="top" width="45%">');
 
 ## UNREAD COURSE DISCUSSION POSTS ##
     $r->print(<<"END");
@@ -247,11 +206,16 @@
 END
 
     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;
         my $rowNum = 0;
         foreach my $ressymb (@newdiscussions) {
             my $forum_title = $unread{$ressymb}{'title'};
+            my $type = 'Resource';
 	    my $feedurl=&Apache::lonfeedback::get_feedurl($ressymb);
+            if ($feedurl =~ /bulletinboard/) {
+                $type = 'Bulletin Board';
+            }
             my $unreadnum = keys(%{$unread{$ressymb}});
             $unreadnum = $unreadnum - 2;
             if ($unreadnum > 0) {
@@ -260,7 +224,7 @@
                 } else {
                     $rowColor = $rowColor2;
                 }
-                $r->print('<tr><td bgcolor="'.$rowColor.'"><small><a href="'.$feedurl.'?symb='.$unread{$ressymb}{symb}.'">'.$forum_title.':</a>&nbsp;</td><td bgcolor="'.$rowColor.'" align="right">'.$unreadnum.'&nbsp;</td></tr>');
+                $r->print('<tr bgcolor="'.$rowColor.'"><td><small><a href="'.$feedurl.'?symb='.$unread{$ressymb}{symb}.'">'.$forum_title.':</a>&nbsp;</td><td><small>'.$type.'</small></td><td align="right">'.$unreadnum.'&nbsp;</td></tr>');
                 $rowNum ++;
             }
         }
@@ -282,7 +246,7 @@
 END
 
     if (@tograde > 0) {
-        $r->print('<tr><th bgcolor="#cccccc">Problem Name</th><th>Number ungraded</th></tr>');
+        $r->print('<tr bgcolor="#cccccc"><td><b><small>Problem Name</small></b></td><td align="right"><b><small>Number ungraded</small></b></td></tr>');
         my $rowNum = 0;
         foreach my $res (@tograde) {
             if ($rowNum %2 == 1) {
@@ -290,14 +254,48 @@
             } else {
                 $rowColor = $rowColor2;
             }
-            
-            $r->print('<tr bgcolor="'.$rowColor.'"><td>'.$ungraded{$res}{title}.'</td><td>'.$ungraded{$res}{count}.'</td></tr>');
+            my ($map,$id,$url)=&Apache::lonnet::decode_symb($res);
+            my $linkurl=&Apache::lonnet::clutter($url);
+            $linkurl .= '?symb='.&Apache::lonnet::escape($res);
+
+            $r->print('<tr bgcolor="'.$rowColor.'"><td><a href="'.$linkurl.'"><small>'.$ungraded{$res}{title}.'</small></a></td><td align="right"><small>'.$ungraded{$res}{count}.'</small></td></tr>');
             $rowNum ++;
         }
     } else {
         $r->print('<tr><td bgcolor="#ffffff"><br><center><i><b><small>&nbsp;&nbsp;No problems require handgrading&nbsp;&nbsp;</small><br><br></b></i></td></tr>');
     }
     $r->print('</table></td></tr></table></td></tr></table><br />');
+
+## BOMBS ##
+     $r->print(<<"END");
+           <table border="0" cellpadding="0" cellspacing="0" bgcolor="#000000" width="100%">
+            <tr>
+             <td>
+               <table border="0" cellpadding="1" cellspacing="1" bgcolor="#000000" width="100%">
+               <tr>
+                <td bgcolor="$tabbg"><b>Problems with errors</b></td>
+               </tr>
+                <tr>
+                <td bgcolor="#ffffff">
+                 <table width="100%" cellspacing="0" cellpadding="0" border="0">
+END
+     my $bombnum = 0;
+     if (@bombs > 0) {
+#        @bombs = sort { &cmp_title($a,$b) } @bombs;
+        foreach my $bomb (@bombs) {
+            if ($bombnum %2 == 1) {
+                 $rowColor = $rowColor1;
+            } else {
+                $rowColor = $rowColor2;
+            }
+            $r->print('<tr bgcolor="'.$rowColor.'"><td>'.$bombed{$bomb}{errorlink}.'</td></tr>');
+            $bombnum ++;
+        }
+    } else {
+        $r->print('<tr><td bgcolor="#ffffff"><br /><center><b><i><small>No problems with errors</small></i></b></center><br /></td></tr>');
+    }
+    $r->print('</table></td></tr></table></td></tr></table><br />');
+
     $r->print('</td><td width="5%">&nbsp;</td><td align="left" valign="top" width-"50%">');
 
 ## MESSAGES ##
@@ -314,6 +312,7 @@
                  <table width="100%" cellspacing="0" cellpadding="0" border="0">
 END
     if ($msgcount > 0) {
+        $r->print('<tr bgcolor="#cccccc"><td><b><small>'.&mt('Number').'</small></b></td><td><b><small>'.&mt('Subject').'</small></b></td><td><b><small>'.&mt('Sender').'</small></b></td><td><b><small>'.&mt('Date/Time').'</small></b></td></tr>');
         my $rowNum = 0;
         my $mailcount = 1; 
         foreach my $msg (@newmsgs) {
@@ -322,7 +321,7 @@
             } else {
                 $rowColor = $rowColor2;
             }
-            $r->print('<tr><td bgcolor="'.$rowColor.'" valign="top"><small>'.$mailcount.'. &nbsp;<small></td><td valign="top"><small><a href="/adm/mail?">'.$msg->{'shortsub'}.'</a>&nbsp; &nbsp;</small></td><td valign="top"><small>&nbsp;'.$msg->{'from'}.'@'.$msg->{'fromdom'}.'&nbsp;</small></td><td valign="top"><small>'.$msg->{'sendtime'}.'</small></td></tr>');
+            $r->print('<tr bgcolor="'.$rowColor.'"><td valign="top"><small>'.$mailcount.'. &nbsp;<small></td><td valign="top"><small><a href="/adm/mail?">'.$msg->{'shortsub'}.'</a>&nbsp; &nbsp;</small></td><td valign="top"><small>&nbsp;'.$msg->{'from'}.'@'.$msg->{'fromdom'}.'&nbsp;</small></td><td valign="top"><small>'.$msg->{'sendtime'}.'</small></td></tr>');
             $rowNum ++;
             $mailcount ++;
         }
@@ -345,6 +344,7 @@
 END
 
     if ($critmsgcount > 0) {
+        $r->print('<tr bgcolor="#cccccc"><td><b><small>Number</small></b></td><td><b><small>Subject</small></b></td><td><b><small>Sender</small></b></td><td><b><small>Date/Time</small></b></td></tr>');
         my $rowNum = 0;
         my $mailcount = 1;
         foreach my $msg (@critmsgs) {
@@ -353,7 +353,7 @@
             } else {
                 $rowColor = $rowColor2;
             }
-            $r->print('<tr><td bgcolor="'.$rowColor.'" valign="top"><small>'.$mailcount.'. &nbsp;<small></td><td valign="top"><small><a href="/adm/mail?">'.$msg->{'shortsub'}.'</a>&nbsp; &nbsp;</small></td><td valign="top"><small>&nbsp;'.$msg->{'from'}.'@'.$msg->{'fromdom'}.'&nbsp;</small></td><td valign="top"><small>'.$msg->{'sendtime'}.'</small></td></tr>');
+            $r->print('<tr bgcolor="'.$rowColor.'"><td valign="top"><small>'.$mailcount.'. &nbsp;<small></td><td valign="top"><small><a href="/adm/mail?">'.$msg->{'shortsub'}.'</a>&nbsp; &nbsp;</small></td><td valign="top"><small>&nbsp;'.$msg->{'from'}.'@'.$msg->{'fromdom'}.'&nbsp;</small></td><td valign="top"><small>'.$msg->{'sendtime'}.'</small></td></tr>');
             $rowNum ++;
             $mailcount ++;
         }
@@ -363,35 +363,6 @@
                                                                                
     $r->print('</table></td></tr></table></td></tr></table><br />');
 
-## BOMBS ##
-    $r->print(<<END);
-           <table border="0" cellpadding="0" cellspacing="0" bgcolor="#000000" width="100%">
-            <tr>
-             <td>
-              <table border="0" cellpadding="1" cellspacing="1" bgcolor="#000000" width="100%">
-               <tr>
-                <td bgcolor="$tabbg"><b>Problems with errors</b></td>
-               </tr>
-               <tr>
-                <td bgcolor="#ffffff">
-                 <table width="100%" cellspacing="0" cellpadding="0" border="0">
-END
-    my $bombnum = 0;
-    if (@bombs > 0) {
-#        @bombs = sort { &cmp_title($a,$b) } @bombs;
-        foreach my $bomb (@bombs) {
-            if ($bombnum %2 == 1) {
-                $rowColor = $rowColor1;
-            } else {
-                $rowColor = $rowColor2;
-            }
-            $r->print('<tr bgcolor="'.$rowColor.'"><td>'.$bombed{$bomb}{errorlink}.'</td></tr>');
-            $bombnum ++;
-        }
-    } else {
-        $r->print('<tr><td bgcolor="#ffffff"><br /><center><b><i><small>No problems with errors</small></i></b></center><br /></td></tr>');
-    }
-    $r->print('</table></td></tr></td></tr></table>');
     $r->print('
            </table>
           </td>
@@ -428,7 +399,6 @@
         if ($ressymb =~ m-___adm/\w+/\w+/\d+/bulletinboard$-) {
             $ressymb = $resource->wrap_symb();
         }
-
 # Check for unread discussion postings
         if (defined($discussiontime{$ressymb})) {
             push(@discussions,$ressymb);
@@ -559,3 +529,4 @@
     return $atitle cmp $btitle;
 }
 
+1;

--raeburn1113225240--