Remove port association mode map from the database (#8941)

* Remove port association mode map from the database

* Renamed sql file

* Renamed sql file
This commit is contained in:
Tony Murray
2018-08-05 03:50:13 -05:00
committed by Neil Lathwood
parent bd6c51e3ab
commit 50bb72f530
6 changed files with 39 additions and 30 deletions

View File

@@ -186,8 +186,7 @@ echo " </select>
<select name='port_assoc_mode' id='port_assoc_mode' class='form-control input-sm'> <select name='port_assoc_mode' id='port_assoc_mode' class='form-control input-sm'>
"; ";
foreach (get_port_assoc_modes() as $pam) { foreach (get_port_assoc_modes() as $pam_id => $pam) {
$pam_id = get_port_assoc_mode_id($pam);
echo " <option value='$pam_id'"; echo " <option value='$pam_id'";
if ($pam_id == $device['port_association_mode']) { if ($pam_id == $device['port_association_mode']) {

View File

@@ -1219,17 +1219,12 @@ function format_hostname($device, $hostname = null)
*/ */
function get_port_assoc_modes() function get_port_assoc_modes()
{ {
return dbFetchColumn("SELECT `name` FROM `port_association_mode` ORDER BY pom_id"); return [
} 1 => 'ifIndex',
2 => 'ifName',
/** 3 => 'ifDescr',
* Validate port_association_mode 4 => 'ifAlias',
* @param string $port_assoc_mode ];
* @return bool
*/
function is_valid_port_assoc_mode($port_assoc_mode)
{
return in_array($port_assoc_mode, get_port_assoc_modes());
} }
/** /**
@@ -1239,7 +1234,9 @@ function is_valid_port_assoc_mode($port_assoc_mode)
*/ */
function get_port_assoc_mode_id($port_assoc_mode) function get_port_assoc_mode_id($port_assoc_mode)
{ {
return (int)dbFetchCell("SELECT `pom_id` FROM `port_association_mode` WHERE name = ?", array ($port_assoc_mode)); $modes = array_flip(get_port_assoc_modes());
return isset($modes[$port_assoc_mode]) ? $modes[$port_assoc_mode] : false;
} }
/** /**
@@ -1249,7 +1246,9 @@ function get_port_assoc_mode_id($port_assoc_mode)
*/ */
function get_port_assoc_mode_name($port_assoc_mode_id) function get_port_assoc_mode_name($port_assoc_mode_id)
{ {
return dbFetchCell("SELECT `name` FROM `port_association_mode` WHERE pom_id = ?", array ($port_assoc_mode_id)); $modes = get_port_assoc_modes();
return isset($modes[$port_assoc_mode_id]) ? $modes[$port_assoc_mode_id] : false;
} }
/** /**

View File

@@ -608,7 +608,7 @@ function addHost($host, $snmp_version = '', $port = '161', $transport = 'udp', $
} }
// Valid port assoc mode // Valid port assoc mode
if (!is_valid_port_assoc_mode($port_assoc_mode)) { if (!in_array($port_assoc_mode, get_port_assoc_modes())) {
throw new InvalidPortAssocModeException("Invalid port association_mode '$port_assoc_mode'. Valid modes are: " . join(', ', get_port_assoc_modes())); throw new InvalidPortAssocModeException("Invalid port association_mode '$port_assoc_mode'. Valid modes are: " . join(', ', get_port_assoc_modes()));
} }

View File

@@ -1316,12 +1316,6 @@ ports_vlans:
Indexes: Indexes:
PRIMARY: { Name: PRIMARY, Columns: [port_vlan_id], Unique: true, Type: BTREE } PRIMARY: { Name: PRIMARY, Columns: [port_vlan_id], Unique: true, Type: BTREE }
unique: { Name: unique, Columns: [device_id, port_id, vlan], Unique: true, Type: BTREE } unique: { Name: unique, Columns: [device_id, port_id, vlan], Unique: true, Type: BTREE }
port_association_mode:
Columns:
- { Field: pom_id, Type: int(11), 'Null': false, Extra: auto_increment }
- { Field: name, Type: varchar(12), 'Null': false, Extra: '' }
Indexes:
PRIMARY: { Name: PRIMARY, Columns: [pom_id], Unique: true, Type: BTREE }
processes: processes:
Columns: Columns:
- { Field: device_id, Type: int(11), 'Null': false, Extra: '' } - { Field: device_id, Type: int(11), 'Null': false, Extra: '' }

1
sql-schema/258.sql Normal file
View File

@@ -0,0 +1 @@
DROP TABLE IF EXISTS `port_association_mode`;

View File

@@ -222,4 +222,20 @@ class CommonFunctionsTest extends TestCase
$this->assertEquals('Testing IP', format_hostname($device_ip, 'hostname.like')); $this->assertEquals('Testing IP', format_hostname($device_ip, 'hostname.like'));
$this->assertEquals('Testing IP', format_hostname($device_ip, '10.10.10.10')); $this->assertEquals('Testing IP', format_hostname($device_ip, '10.10.10.10'));
} }
public function testPortAssociation()
{
$modes = [
1 => 'ifIndex',
2 => 'ifName',
3 => 'ifDescr',
4 => 'ifAlias',
];
$this->assertEquals($modes, get_port_assoc_modes());
$this->assertEquals('ifIndex', get_port_assoc_mode_name(1));
$this->assertEquals(1, get_port_assoc_mode_id('ifIndex'));
$this->assertFalse(get_port_assoc_mode_name(666));
$this->assertFalse(get_port_assoc_mode_id('lucifer'));
}
} }