]> git.etc.gen.nz Git - spong.git/commitdiff
Insert header line in group summary view
authorAndrew Ruthven <andrew@etc.gen.nz>
Wed, 19 Dec 2007 20:48:51 +0000 (09:48 +1300)
committerAndrew Ruthven <andrew@cerberus.etc.gen.nz>
Wed, 19 Dec 2007 20:48:51 +0000 (09:48 +1300)
Now you can specify a group with a name of "break";. When this group
shows up depending on the group view you're using it does several things.

In the HTML mode, it displays the header bar again. This allows you to
cleanly breakup some different groups in either the brief or standard
group summary views. This group is skipped in the full view.

In text mode it does a simialr thing, but just prints a blank line instead
of repeating the header lines.

An example of what to put in your spong.groups file is:

'group 1' =>; { ... },

'----' => { name => 'break' },

'completely different group' => { ... }

src/lib/Spong/HostGroups.pm

index ef1121c4d169b5c56ce1eee4f1e6e07990c30c65..c5d7e93935bb74eada00f8b7649e2f34c1ec6dac 100755 (executable)
@@ -166,6 +166,11 @@ sub display_text {
       # Now go through each host, and fill in the table.
 
       foreach $group ( $self->groups() ) {
+         if ($main::GROUPS{$group->name()}->{'name'} eq 'break') {
+            print "\n";
+            next;
+         }
+
         print substr( $group->name(), 0, 29 );
         print " "x(30-length(substr($group->name(), 0, 29)));
 
@@ -225,6 +230,11 @@ sub display_text {
       # Now go through each host, and fill in the table.
 
       foreach $group ( $self->groups() ) {
+         if ($main::GROUPS{$group->name()}->{'name'} eq 'break') {
+            print "\n";
+            next;
+         }
+
         print substr( $group->name(), 0, 29 );
         print " "x(30-length(substr($group->name(), 0, 29)));
 
@@ -260,6 +270,8 @@ sub display_text {
       # Now go through each host, and fill in the table.
 
       foreach $group ( $self->groups() ) {
+         next if ($main::GROUPS{$group->name()}->{'name'} eq 'break');
+
          print "-"x30, "-"x(($#names+1)*3), "\n";
         print "Group: " . substr( $group->name(), 0, 29 ) . "\n";
 
@@ -298,6 +310,14 @@ sub display_html {
          my $name = $group->name();
          my $grname = $main::GROUPS{$name}->{'name'};
 
+        if ($grname eq "break") {
+            print "  <tr>\n";
+            print "    <td align=center class=\"spong_hostgroups\">Host Group</td>\n";
+            print "    <td class=\"spong_hostgroups\">Status</td>\n";
+            print "  </tr>\n";
+            next;
+        }
+
          print " <tr class=\"spong_hostgroups\">\n";
          print "  <th class=\"spong_hostgroups\"><a href=\"!!WWWSPONG!!/group/$name\" target=\"_top\">$grname</a></th>\n";
    
@@ -358,6 +378,19 @@ sub display_html {
       foreach $group ( $self->groups() ) { 
          my $name = $group->name();
          my $grname = $main::GROUPS{$name}->{'name'};
+
+         if ($grname eq "break") {
+            print "  <tr>";
+            print "    <td align=center width=80 nowrap class=\"spong_hostgroups\"><b>Host Group</b></td>\n";
+            foreach $service ( @names ) { 
+              print "    <td align=center valign=bottom width=25 class=\"spong_hostgroups\">\n";
+              print "<font size=-1><a href=\"!!WWWSPONG!!/help/$service\">";
+              print "$service</a></font></td>\n"; 
+            }
+      
+            print "  </tr>\n\n";
+            next;
+         }
         
         print " <tr class=\"spong_hostgroups\">\n";
         print "  <td class=\"spong_hostgroups_left\">\n";
@@ -405,6 +438,8 @@ sub display_html {
          my $name = $group->name();
          my $grname = $main::GROUPS{$name}->{'name'};
 
+         next if ($grname eq "break");
+
          # Display the host group table
 #         print "<a href=\"$main::WWWSPONG/group/$name\">";
          print "\n<div class=\"spong_hostgroups_groupname\">Group - $grname</div><br />\n";