Add field "site" in admin panel.
This commit is contained in:
parent
a9c6ddc03b
commit
88dab5743f
4 changed files with 24 additions and 4 deletions
|
@ -112,6 +112,7 @@ angular.module('ffffngAdmin').config(function(NgAdminConfigurationProvider, Rest
|
|||
? '<i class="fa fa-lock vpn-key-set" aria-hidden="true" title="VPN key set"></i>'
|
||||
: '<i class="fa fa-times vpn-key-unset" aria-hidden="true" title="no VPN key"></i>';
|
||||
}),
|
||||
nga.field('site').map(nullable).cssClasses(nodeClasses),
|
||||
nga.field('coords').label('GPS').cssClasses(nodeClasses).template(function (node) {
|
||||
return node.values.coords
|
||||
? '<i class="fa fa-map-marker coords-set" aria-hidden="true" title="coordinates set"></i>'
|
||||
|
@ -238,6 +239,7 @@ angular.module('ffffngAdmin').config(function(NgAdminConfigurationProvider, Rest
|
|||
nga.field('id').cssClasses(monitoringStateClasses),
|
||||
nga.field('hostname').cssClasses(monitoringStateClasses),
|
||||
nga.field('mac').cssClasses(monitoringStateClasses),
|
||||
nga.field('site').map(nullable).cssClasses(monitoringStateClasses),
|
||||
nga.field('monitoring_state').cssClasses(monitoringStateClasses).template(function (monitoringState) {
|
||||
switch (monitoringState.values.monitoring_state) {
|
||||
case 'active':
|
||||
|
|
1
server/db/patches/006_add_site.sql
Normal file
1
server/db/patches/006_add_site.sql
Normal file
|
@ -0,0 +1 @@
|
|||
ALTER TABLE node_state ADD COLUMN site VARCHAR(32);
|
|
@ -127,6 +127,7 @@ angular.module('ffffng').factory('NodeResource', function (
|
|||
var nodeState = nodeStateByMac[node.mac];
|
||||
if (nodeState) {
|
||||
return deepExtend({}, node, {
|
||||
site: nodeState.site,
|
||||
onlineState: nodeState.state
|
||||
});
|
||||
}
|
||||
|
|
|
@ -44,11 +44,12 @@ angular.module('ffffng')
|
|||
|
||||
return Database.run(
|
||||
'INSERT INTO node_state ' +
|
||||
'(hostname, mac, monitoring_state, state, last_seen, import_timestamp, last_status_mail_sent, last_status_mail_type) ' +
|
||||
'VALUES (?, ?, ?, ?, ?, ?, ?, ?)',
|
||||
'(hostname, mac, site, monitoring_state, state, last_seen, import_timestamp, last_status_mail_sent, last_status_mail_type) ' +
|
||||
'VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
|
||||
[
|
||||
node.hostname,
|
||||
node.mac,
|
||||
node.site,
|
||||
node.monitoringState,
|
||||
nodeData.state,
|
||||
nodeData.lastSeen.unix(),
|
||||
|
@ -80,10 +81,18 @@ angular.module('ffffng')
|
|||
|
||||
return Database.run(
|
||||
'UPDATE node_state ' +
|
||||
'SET hostname = ?, monitoring_state = ?, state = ?, last_seen = ?, import_timestamp = ?, modified_at = ?' +
|
||||
'SET ' +
|
||||
'hostname = ?, ' +
|
||||
'site = ?, ' +
|
||||
'monitoring_state = ?, ' +
|
||||
'state = ?, ' +
|
||||
'last_seen = ?, ' +
|
||||
'import_timestamp = ?, ' +
|
||||
'modified_at = ? ' +
|
||||
'WHERE id = ? AND mac = ?',
|
||||
[
|
||||
node.hostname,
|
||||
node.site,
|
||||
node.monitoringState,
|
||||
nodeData.state,
|
||||
nodeData.lastSeen.unix(),
|
||||
|
@ -201,11 +210,17 @@ angular.module('ffffng')
|
|||
);
|
||||
}
|
||||
|
||||
var site = null;
|
||||
if (_.isPlainObject(nodeData.nodeinfo.system) && _.isString(nodeData.nodeinfo.system.site_code)) {
|
||||
site = nodeData.nodeinfo.system.site_code;
|
||||
}
|
||||
|
||||
return {
|
||||
mac: mac,
|
||||
importTimestamp: data.importTimestamp,
|
||||
state: isOnline ? 'ONLINE' : 'OFFLINE',
|
||||
lastSeen: lastSeen
|
||||
lastSeen: lastSeen,
|
||||
site: site
|
||||
};
|
||||
}));
|
||||
}
|
||||
|
@ -533,6 +548,7 @@ angular.module('ffffng')
|
|||
'id',
|
||||
'hostname',
|
||||
'mac',
|
||||
'site',
|
||||
'monitoring_state',
|
||||
'state',
|
||||
'last_seen',
|
||||
|
|
Loading…
Reference in a new issue