Changeset 598 for branches/stable/cgi-bin
- Timestamp:
- 05/16/13 16:43:45 (12 years ago)
- Location:
- branches/stable/cgi-bin
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/cgi-bin/IPDB.pm
r595 r598 396 396 397 397 # Snag the allocations for this block 398 my $sth = $dbh->prepare("SELECT cidr,city,type,custid,swip,description ".398 my $sth = $dbh->prepare("SELECT cidr,city,type,custid,swip,description,vrf". 399 399 " FROM allocations WHERE cidr <<= ? ORDER BY cidr"); 400 400 $sth->execute($routed); … … 405 405 406 406 my @blocklist; 407 while (my ($cidr,$city,$type,$custid,$swip,$desc) = $sth->fetchrow_array()) { 407 while (my ($cidr,$city,$type,$custid,$swip,$desc,$vrf) = $sth->fetchrow_array()) { 408 $desc .= " - vrf:$vrf" if $desc && $vrf; 409 $desc = "vrf:$vrf" if !$desc && $vrf; 408 410 $custsth->execute($custid); 409 411 my ($ncust) = $custsth->fetchrow_array(); … … 462 464 my $pool = shift; 463 465 464 my $sth = $dbh->prepare("SELECT ip,custid,available,description,type ".466 my $sth = $dbh->prepare("SELECT ip,custid,available,description,type,vrf". 465 467 " FROM poolips WHERE pool = ? ORDER BY ip"); 466 468 $sth->execute($pool); 467 469 my @poolips; 468 while (my ($ip,$custid,$available,$desc,$type) = $sth->fetchrow_array) { 470 while (my ($ip,$custid,$available,$desc,$type,$vrf) = $sth->fetchrow_array) { 471 $desc .= " - vrf:$vrf" if $desc && $vrf; 472 $desc = "vrf:$vrf" if !$desc && $vrf; 469 473 my %row = ( 470 474 ip => $ip, … … 673 677 # Returns a success code and optional error message. 674 678 sub allocateBlock { 675 my ($dbh,undef,undef,$custid,$type,$city,$desc,$notes,$circid,$privdata,$nodeid ) = @_;679 my ($dbh,undef,undef,$custid,$type,$city,$desc,$notes,$circid,$privdata,$nodeid,$vrf) = @_; 676 680 $privdata = '' if !defined($privdata); 681 $vrf = '' if !defined($vrf); 677 682 678 683 my $cidr = new NetAddr::IP $_[1]; … … 720 725 undef, ($alloc_from) ); 721 726 } 722 $dbh->do("UPDATE poolips SET custid=?,city=?,available='n',description=?,notes=?,circuitid=?,privdata=? ". 723 "WHERE ip=?", undef, ($custid, $city, $desc, $notes, $circid, $privdata, $cidr) ); 727 $dbh->do("UPDATE poolips SET custid=?,city=?,available='n',description=?,". 728 "notes=?,circuitid=?,privdata=?,vrf=? ". 729 "WHERE ip=?", undef, ($custid, $city, $desc, $notes, $circid, $privdata, $vrf, $cidr) ); 724 730 725 731 # node hack … … 771 777 } 772 778 $sth = $dbh->prepare("insert into allocations". 773 " (cidr,custid,type,city,description,notes,maskbits,circuitid,privdata )".774 " values (?,?,?,?,?,?,?,?,? )");775 $sth->execute("$cidr", $custid, $type, $city, $desc, $notes, $cidr->masklen, $circid, $privdata );779 " (cidr,custid,type,city,description,notes,maskbits,circuitid,privdata,vrf)". 780 " values (?,?,?,?,?,?,?,?,?,?)"); 781 $sth->execute("$cidr", $custid, $type, $city, $desc, $notes, $cidr->masklen, $circid, $privdata, $vrf); 776 782 777 783 # And initialize the pool, if necessary … … 884 890 # Insert the allocations entry 885 891 $sth = $dbh->prepare("insert into allocations (cidr,custid,type,city,". 886 "description,notes,maskbits,circuitid,privdata )".887 " values (?,?,?,?,?,?,?,?,? )");888 $sth->execute("$cidr", $custid, $type, $city, $desc, $notes, $cidr->masklen, $circid, $privdata );892 "description,notes,maskbits,circuitid,privdata,vrf)". 893 " values (?,?,?,?,?,?,?,?,?,?)"); 894 $sth->execute("$cidr", $custid, $type, $city, $desc, $notes, $cidr->masklen, $circid, $privdata, $vrf); 889 895 890 896 # And initialize the pool, if necessary … … 997 1003 my @fieldlist; 998 1004 my @vallist; 999 foreach ('custid', 'city', 'description', 'notes', 'circuitid', 'privdata' ) {1005 foreach ('custid', 'city', 'description', 'notes', 'circuitid', 'privdata', 'vrf') { 1000 1006 if ($args{$_}) { 1001 1007 push @fieldlist, $_; … … 1100 1106 $msg = "Unable to delete master block $cidr"; 1101 1107 eval { 1102 $sth = $dbh->prepare("delete from masterblocks where cidr= '$cidr'");1103 $sth->execute ;1104 $sth = $dbh->prepare("delete from freeblocks where cidr <<= '$cidr'");1105 $sth->execute ;1108 $sth = $dbh->prepare("delete from masterblocks where cidr=?"); 1109 $sth->execute($cidr); 1110 $sth = $dbh->prepare("delete from freeblocks where cidr <<= ?"); 1111 $sth->execute($cidr); 1106 1112 $dbh->commit; 1107 1113 }; … … 1264 1270 ## IPDB::getBlockData() 1265 1271 # Get CIDR or IP, custid, type, city, circuit ID, description, notes, modification time, private/restricted 1266 # data, for a CIDR block or pool IP1272 # data, and VRF tag, for a CIDR block or pool IP 1267 1273 # Also returns SWIP status flag for CIDR blocks 1268 1274 # Takes the block/IP to look up … … 1286 1292 } 1287 1293 my $binfo = $dbh->selectrow_hashref("SELECT $keycol AS block, custid, type, city, circuitid, description,". 1288 " notes, modifystamp AS lastmod, privdata ".($poolip ? '' : ', swip')." FROM $blocktable".1294 " notes, modifystamp AS lastmod, privdata, vrf".($poolip ? '' : ', swip')." FROM $blocktable". 1289 1295 " WHERE $keycol = ?", undef, ($block) ); 1290 1296 return $binfo; -
branches/stable/cgi-bin/ipdb.psql
r592 r598 33 33 ); 34 34 35 CREATE TABLE "temp" (36 "ofs" integer37 );38 39 35 CREATE TABLE "freeblocks" ( 40 36 "cidr" cidr DEFAULT '255.255.255.255/32' NOT NULL PRIMARY KEY, … … 57 53 "createstamp" timestamp DEFAULT now(), 58 54 "modifystamp" timestamp DEFAULT now(), 55 "vrf" character varying(128) DEFAULT '' NOT NULL, 59 56 CHECK (((available = 'y'::bpchar) OR (available = 'n'::bpchar))) 60 57 ); … … 73 70 "custid" character varying(16) DEFAULT '', 74 71 swip character(1) DEFAULT 'n' 72 "vrf" character varying(128) DEFAULT '' NOT NULL, 75 73 ); 76 74 77 CREATE VIEW "searchme" as SELECT allocations.cidr, allocations.custid, allocations."type", allocations.city, allocations.description, allocations.notes, allocations.circuitid FROM allocations UNION SELECT poolips.ip, poolips.custid, poolips.type, poolips.city, poolips.description, poolips.notes, poolips.circuitidFROM poolips;75 CREATE VIEW "searchme" as SELECT allocations.cidr, allocations.custid, allocations."type", allocations.city, allocations.description, allocations.notes, allocations.circuitid, allocations.vrf FROM allocations UNION SELECT poolips.ip, poolips.custid, poolips.type, poolips.city, poolips.description, poolips.notes, poolips.circuitid, poolips.vrf FROM poolips; 78 76 79 77 CREATE TABLE "alloctypes" ( … … 154 152 155 153 CREATE TABLE "users" ( 156 "username" varchar( 16) NOT NULL PRIMARY KEY,157 "password" varchar( 16) DEFAULT '',158 "acl" varchar( 16) DEFAULT 'b'154 "username" varchar(40) NOT NULL PRIMARY KEY, 155 "password" varchar(60) DEFAULT '', 156 "acl" varchar(30) DEFAULT 'b' 159 157 ); 160 158 161 159 -- Default password is admin 162 160 INSERT INTO users VALUES ('admin','luef5C4XumqIs','bacdsA'); 163 164 CREATE TABLE "dns" (165 "ip" inet NOT NULL PRIMARY KEY,166 "hostname" character varying(128),167 "auto" character(1) DEFAULT 'y'168 );169 161 170 162 -- Network nodes - allows finding customers affected by a broken <x> quickly -
branches/stable/cgi-bin/main.cgi
r596 r598 331 331 type => $ipinfo->{type}, 332 332 allocfrom => $pool, 333 vrf => $ipinfo->{vrf}, 333 334 ); 334 335 } elsif ($webvar{fbtype} eq 'n') { … … 477 478 $page->param(cidr => $cidr); 478 479 $page->param(city => $q->escapeHTML($webvar{city})); 480 $page->param(vrf => $webvar{vrf}); 479 481 $page->param(custid => $webvar{custid}); 480 482 $page->param(circid => $q->escapeHTML($webvar{circid})); … … 521 523 my ($code,$msg) = allocateBlock($ip_dbh, $webvar{fullcidr}, $webvar{alloc_from}, 522 524 $webvar{custid}, $webvar{alloctype}, $webvar{city}, $webvar{desc}, $webvar{notes}, 523 $webvar{circid}, $webvar{privdata}, $webvar{node} );525 $webvar{circid}, $webvar{privdata}, $webvar{node}, $webvar{vrf}); 524 526 525 527 if ($code eq 'OK' || $code eq 'WARN') { … … 695 697 ## end node hack 696 698 699 $page->param(vrf => $blockinfo->{vrf}); 700 697 701 my ($lastmod,undef) = split /\s+/, $blockinfo->{lastmod}; 698 702 $page->param(lastmod => $lastmod); … … 735 739 type => $webvar{alloctype}, 736 740 swip => $webvar{swip}, 741 vrf => $webvar{vrf}, 737 742 ); 738 743 … … 784 789 $page->param(city => $webvar{city}); 785 790 $page->param(disptype => $disp_alloctypes{$webvar{alloctype}}); 791 $page->param(vrf => $webvar{vrf}); 786 792 $page->param(custid => $webvar{custid}); 787 793 $page->param(swip => $webvar{swip} eq 'on' ? 'Yes' : 'No'); … … 869 875 # need to retrieve block data before deleting so we can notify on that 870 876 my $blockinfo = getBlockData($ip_dbh, $webvar{block}); 877 # hack pthui. This goes away with the new structure, since routed 878 # and master blocks can be retrieved with getBlockData() 879 if ($webvar{alloctype} eq 'rm') { 880 $blockinfo = { custid => 'N/A', city => $webvar{city}, description => 'N/A' }; 881 } elsif ($webvar{alloctype} eq 'mm') { 882 $blockinfo = { custid => 'N/A', city => 'N/A', description => 'N/A' }; 883 } 871 884 872 885 my ($code,$msg) = deleteBlock($ip_dbh, $webvar{block}, $webvar{alloctype});
Note:
See TracChangeset
for help on using the changeset viewer.