Remove distribution from summary, add purpose and sponsor
authorPeter Palfrader <peter@palfrader.org>
Tue, 15 Jul 2008 14:34:05 +0000 (16:34 +0200)
committerPeter Palfrader <peter@palfrader.org>
Tue, 15 Jul 2008 14:34:05 +0000 (16:34 +0200)
machines.cgi

index b7cc9d0..fc84b30 100755 (executable)
@@ -17,7 +17,7 @@ use POSIX;
 use MIME::Base64;
 use Digest::MD5 qw(md5_hex);
 
-my (%attrs, @attrorder, %summaryattrs, @summaryorder);
+my (%attrs, @attrorder, %summaryattrs, @summaryorder, %summarylistitems);
 
 # This defines the description of the fields, and which fields are retrieved
 %attrs = ('hostname' => 'Host name',
@@ -50,13 +50,14 @@ my (%attrs, @attrorder, %summaryattrs, @summaryorder);
 
 # ditto for summary
 %summaryattrs = ('hostname' => 'Host name',
-                 'host'     => 'just for a link',
-                 'architecture' => 'Architecture',
-                'distribution' => 'Distribution',
+                'host'     => 'just for a link',
+                'architecture' => 'Architecture',
                 'status' => 'Status',
-                'access' => 'Access');
-                
-@summaryorder = ('hostname', 'architecture', 'distribution', 'status', 'access');               
+                'access' => 'Access',
+                'sponsor' => 'Sponsor',
+                'purpose' => 'Purpose');
+@summaryorder = qw{hostname architecture sponsor purpose status access};
+%summarylistitems = map {$_=>1} qw{purpose sponsor};
 
 # Global settings...
 my %config = &Util::ReadConfigFile;
@@ -162,16 +163,21 @@ foreach $dn (sort {$entries->{$a}->{host}->[0] cmp $entries->{$b}->{host}->[0]}
     my $purpose = item_uplist($data->{purpose});
     $output{purpose} = $purpose if defined $purpose;
 
-    $selected = " selected ";    
+    $selected = " selected ";
   }
-  
+
   $hostlist .= "<option value=\"$thishost\"$selected>$thishost\n";
-  
+
   # collect summary info
   foreach $key (keys(%summaryattrs)) {
-    $summary{$thishost}{$key} = $data->{$key}->[0];
+    if (exists $summarylistitems{$key}) {
+      my $v = item_uplist($data->{$key});
+      $summary{$thishost}{$key} = $v if defined $v;
+    } else {
+      $summary{$thishost}{$key} = $data->{$key}->[0];
+    }
   }
-  
+
   $summary{$thishost}{hostname} = undef;
   foreach my $hostname (@{$data->{hostname}}) {
     $summary{$thishost}{hostname} .= sprintf("%s<a href=\"machines.cgi?host=%s\">%s</a>", ($summary{$thishost}{hostname} ? '<br>' : ''), $summary{$thishost}{host}, $hostname);