--- mon.cgi.pl	2001/12/24 02:14:55	1.2
+++ mon.cgi.pl	2001/12/31 18:31:57
@@ -705,8 +705,8 @@
 
     # Set the refresh page to always be the summary page, unless 
     # certain commands are selected.
-    if ( $command eq "query_opstatus_full" ) {
-	$refresh_url = "$url?${monhost_and_port_args_meta}command=query_opstatus_full";
+    if ( $command =~ "^query_opstatus_" ) {
+	$refresh_url = "$url?${monhost_and_port_args_meta}command=$command";
     } elsif ( ($command eq "mon_test_service") || ($command eq "svc_details") ) {
 	$refresh_url = "$url?${monhost_and_port_args_meta}command=svc_details&args=$args";
     } elsif ($command eq "query_group") {
@@ -876,7 +876,7 @@
     # Print the first row of the command table
     #
     $webpage->print("<tr>\n");
-    $webpage->print("\t<td $auth_commands{'list'}{'bgcolor'} align=center><font FACE=\"$face\"><a href=\"$url?${monhost_and_port_args}command=query_opstatus\">Show Operational Status (summary)</a></font></td>\n");
+    $webpage->print("\t<td $auth_commands{'list'}{'bgcolor'} align=center><font FACE=\"$face\"><a href=\"$url?${monhost_and_port_args}command=query_opstatus\">Show Operational Status (summary)</a> <a href=\"$url?${monhost_and_port_args}command=query_opstatus_failures\">(failures only)</a></font></td>\n");
     $webpage->print("\t<td $auth_commands{'list'}{'bgcolor'} align=center><font FACE=\"$face\"><a href=\"$url?${monhost_and_port_args}command=list_alerthist\">Show Alert History</a></font></td>\n");
     $webpage->print("\t<td $auth_commands{'loadstate'}{'bgcolor'} align=center><font FACE=\"$face\"><a href=\"$url?${monhost_and_port_args}command=mon_loadstate&amp;args=\">Load scheduler state</a></font></td>\n");
     $webpage->print("\t<td $auth_commands{'start'}{'bgcolor'} align=center><font FACE=\"$face\"><a href=\"$url?${monhost_and_port_args}command=mon_schedctl&amp;args=start\">Start scheduler</a></font></td>\n");
@@ -964,7 +964,16 @@
     }
 
     &list_status($detail_level, %op_failure) if defined(%op_failure);
-    &list_status($detail_level, %op_success) if defined(%op_success);
+
+    if ($detail_level eq "failures")
+    {
+       $webpage->print
+           ("<tr><td bgcolor=$greenlight_color colspan=4><center><font size=+2>No failures found.</font></center></td></tr>\n")
+                unless %op_failure;
+    } else
+    {
+        &list_status($detail_level, %op_success) if defined(%op_success);
+    }
 
     $webpage->print("</table>\n");    
 
@@ -3899,6 +3908,11 @@
 elsif ($command eq "query_opstatus_full"){		       # Full operations status
     &setup_page("Operation Status: Full View");
     &query_opstatus("full");
+}
+elsif ($command eq "query_opstatus_failures")
+{
+    &setup_page("Operation Status: Failures Only");
+    &query_opstatus("failures");
 # Selection "mon_opstatus" will fall through to else.
 }
 elsif ($command eq "mon_state_change") {
