Index: trunk/cgi-bin/admin.cgi
===================================================================
--- trunk/cgi-bin/admin.cgi	(revision 340)
+++ trunk/cgi-bin/admin.cgi	(revision 348)
@@ -560,25 +560,17 @@
     print "<tr><form action=admin.cgi method=POST><input type=hidden name=action value=update>\n".
 	qq(<td>$data[0]<input type=hidden value="$data[0]" name=block></td>\n).
-	qq(<td><input name=custid value="$data[1]"></td>\n);
-
-    print "<td><select name=alloctype><option".
-        (($data[2] eq 'cn') ? ' selected' : '') ." value='cn'>Customer netblock</option>\n<option".
-	(($data[2] eq 'si') ? ' selected' : '') ." value='si'>Static IP - Server pool</option>\n<option".
-	(($data[2] eq 'ci') ? ' selected' : '') ." value='ci'>Static IP - Cable</option>\n<option".
-	(($data[2] eq 'di') ? ' selected' : '') ." value='di'>Static IP - DSL</option>\n<option".
-	(($data[2] eq 'mi') ? ' selected' : '') ." value='mi'>Static IP - Dialup</option>\n<option".
-	(($data[2] eq 'wi') ? ' selected' : '') ." value='wi'>Static IP - Wireless</option>\n<option".
-	(($data[2] eq 'sd') ? ' selected' : '') ." value='sd'>Static Pool - Server pool</option>\n<option".
-	(($data[2] eq 'cd') ? ' selected' : '') ." value='cd'>Static Pool - Cable</option>\n<option".
-	(($data[2] eq 'dp') ? ' selected' : '') ." value='dp'>Static Pool - DSL</option>\n<option".
-	(($data[2] eq 'mp') ? ' selected' : '') ." value='mp'>Static Pool - Dialup</option>\n<option".
-	(($data[2] eq 'wp') ? ' selected' : '') ." value='wp'>Static Pool - Wireless</option>\n<option".
-	(($data[2] eq 'en') ? ' selected' : '') ." value='en'>End-use netblock</option>\n<option".
-	(($data[2] eq 'me') ? ' selected' : '') ." value='me'>Dialup netblock</option>\n<option".
-	(($data[2] eq 'de') ? ' selected' : '') ." value='de'>Dynamic DSL netblock</option>\n<option".
-	(($data[2] eq 'ce') ? ' selected' : '') ." value='ce'>Dynamic cable netblock</option>\n<option".
-	(($data[2] eq 'we') ? ' selected' : '') ." value='we'>Dynamic WiFi netblock</option>\n<option".
-	(($data[2] eq 'in') ? ' selected' : '') ." value='in'>Internal netblock</option>\n".
-        "</select></td>\n";
+	qq(<td><input name=custid value="$data[1]"></td>\n).
+	"<td><select name=alloctype>";
+
+    my $sth2 = $ip_dbh->prepare("select type,listname from alloctypes".
+	" where listorder < 500 and not (type like '_i') order by listorder");
+    $sth2->execute;
+    while (my @types = $sth2->fetchrow_array) {
+      print "<option". (($data[2] eq $types[0]) ? ' selected' : '') .
+	" value='$types[0]'>$types[1]</option>\n";
+    }
+    print "<option". (($data[2] eq 'in') ? ' selected' : '') .
+	" value='in'>Internal netblock</option>\n</select></td>\n";
+
     print qq(<td><input name=city value="$data[3]"></td>\n).
 	"<td>$data[4]</td><td>$data[5]</td>".
@@ -631,11 +623,13 @@
 <tr><td align=right>Customer ID:</td><td><input name=custid></td></tr>
 <tr><td align=right>Customer location:</td><td><input name=city></td></tr>
-<tr><td align=right>Type:</td><td><select name=type><option selected>-</option>
-<option value="si">Static IP - Server pool</option>
-<option value="ci">Static IP - Cable</option>
-<option value="di">Static IP - DSL</option>
-<option value="mi">Static IP - Dialup</option>
-<option value="wi">Static IP - Wireless</option>
-</select></td></tr>
+<tr><td align=right>Type:</td><td><select name=type><option selected>-</option>\n);
+
+  $sth = $ip_dbh->prepare("select type,listname from alloctypes where type like '_i' order by listorder");
+  $sth->execute;
+  while (my @data = $sth->fetchrow_array) {
+    print "<option value='$data[0]'>$data[1]</option>\n";
+  }
+
+  print qq(</select></td></tr>
 <tr><td align=right>Available?</td><td><input type=checkbox value=y></td></tr>
 <tr><td align=right>Description/name:</td><td><input name=desc size=40></td></tr>
