Name
sn_cmdb_ci_class.NIDSRecordAjax
Description
The Client Callable Utility class to support the CURD operations on the NIDS object.
Script
var NIDSRecordAjax = Class.create();
NIDSRecordAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
//Function to return know are there any devices that are detected by the scensor or not.
hasDetectedDevices: function() {
var nidsId = this.getParameter('sysparm_obj_id');
var gr = new GlideRecordSecure("cmdb_rel_ci");
gr.addQuery("parent", nidsId);
gr.addQuery("type", NIDSRecordAjax.REL_TYPE.DEVICES.ID);
gr.setLimit(1);
gr.query();
if (gr.getRowCount() == 1) {
return true;
} else {
return false;
}
},
hasDectectedDevicesForList: function() {
var nidsId = this.getParameter('sysparm_obj_id');
var gr = new GlideRecordSecure("cmdb_rel_ci");
gr.addQuery("parent", 'IN', nidsId);
gr.addQuery("type", NIDSRecordAjax.REL_TYPE.DEVICES.ID);
gr.setLimit(1);
gr.query();
while (gr.next()) {
if (gr.getRowCount() == 1) {
return true;
}
}
return false;
},
proceedWithDeleteFromForm: function() {
var objSysId = this.getParameter('sysparm_obj_id');
var tblName = this.getParameter('sysparm_table_name');
var gRecord = new GlideRecordSecure(tblName);
if (gRecord.get(objSysId)) {
if (gRecord.canDelete()) {
gRecord.deleteRecord();
}
}
return true;
},
proceedWithDeleteFromList: function() {
var objSysId = this.getParameter('sysparm_obj_id');
var tblName = this.getParameter('sysparm_table_name');
var objList = objSysId.split(',');
var sysIds = '';
for (var i = 0; i < objList.length; i++) {
if (objList[i] == null || objList[i] == '') {
continue;
}
var gr = new GlideRecordSecure(tblName);
if (gr.get('sys_id', objList[i]) && gr.canDelete()) {
if (sysIds != '') {
sysIds += ',';
}
sysIds += objList[i];
}
}
if (sysIds != '') {
var gRecord = new GlideRecordSecure(tblName);
gRecord.addQuery('sys_id', 'IN', sysIds);
gRecord.query();
gRecord.deleteMultiple();
}
return true;
},
getNidsKeyFields: function() {
return gs.getProperty('sn_cmdb_ci_class.nids_key_fields');
},
hasValidated: function() {
var objSysId = this.getParameter('sysparm_obj_id');
var tblName = this.getParameter('sysparm_table_name');
var newValue = this.getParameter('sysparm_new_value');
var columnName = this.getParameter('sysparm_column_name');
var gRecord = new GlideRecordSecure(tblName);
gRecord.addQuery('sys_id', 'IN', objSysId);
gRecord.query();
while (gRecord.hasNext() && gRecord.next()) {
if (gRecord.getValue('validated') == 1 && gRecord.getValue(columnName) != newValue) {
return true;
}
}
return false;
},
type: 'NIDSRecordAjax'
});
NIDSRecordAjax.REL_TYPE = {};
NIDSRecordAjax.REL_TYPE.DEVICES = {
NAME: 'Detects::Detected by',
ID: '5296a5e1537260108fabddeeff7b1254'
};
Sys ID
09beba2377d10110b9459cfb3c5a995f