Name
global.RelatedListCIItemCandidateFilter
Description
Implements global.RelatedListItemCandidateFilter
Script
var RelatedListCIItemCandidateFilter = Class.create();
RelatedListCIItemCandidateFilter.prototype = {
initialize: function(tableName, parentFieldName, parentRecordSysId, referencedFieldName) {
this.tableName = tableName;
this.parentFieldName = parentFieldName;
this.parentRecordSysId = parentRecordSysId;
this.referencedFieldName = referencedFieldName;
},
getFilterQuery: function() {
var selectedRecord = new GlideRecord(this.tableName);
selectedRecord.addQuery(this.parentFieldName, this.parentRecordSysId);
selectedRecord.query();
var result = [];
var query = "";
while (selectedRecord.next()) {
result.push(selectedRecord.getValue(this.referencedFieldName));
}
if (result.length)
query = "sys_idNOT IN" + result.join(",");
var configItemFilterQuery = new AssociateCIToTask().getQueryFilter(this.parentRecordSysId, this.tableName);
if (configItemFilterQuery)
query = query + '^' + configItemFilterQuery;
return query;
},
handles: function(thing) {
return thing == "CMDB_CI_QUERY_FILTER";
},
type: 'RelatedListCIItemCandidateFilter'
};
Sys ID
d5343709538210107229ddeeff7b12e3