Name
sn_cs_queryrules.ConsumerQueryRuleUtil
Description
No description available
Script
var ConsumerQueryRuleUtil = Class.create();
ConsumerQueryRuleUtil.prototype = {
initialize: function() {},
getConsumersFromRelConsumerToUser: function() {
var key = 'consumers_from_consumer_to_user_rel_' + gs.getUserID();
var consumerFromConsumerToUserRel = GlideAppCache.get(key);
if (!gs.nil(consumerFromConsumerToUserRel))
return consumerFromConsumerToUserRel.split(",");
var consumers = {};
if (!gs.tableExists('sn_customer_rel_consumer_to_consumer'))
return Object.keys(consumers);
var consumerUserReln = new GlideRecord("sn_customer_rel_consumer_to_user");
if (!consumerUserReln.isValid())
return consumersIds;
consumerUserReln.addQuery("user", gs.getUserID());
consumerUserReln.addQuery("responsibility", "8af8bbedb3730010700b4d43c6a8dca1");
consumerUserReln.query();
while (consumerUserReln.next())
consumers[consumerUserReln.consumer.toString()] = true;
var consumersArray = Object.keys(consumers);
if (consumersArray != null && consumersArray.length>0) {
GlideAppCache.put(key, consumersArray.join(","));
}
return consumersArray;
},
getConsumersFromRelConsumerToConsumer: function() {
var key = 'consumers_from_consumer_to_consumer_rel_' + gs.getUserID();
var consumerFromConsumerToConsumerRel = gs.getSession().getClientData(key);
if (!gs.nil(consumerFromConsumerToConsumerRel))
return consumerFromConsumerToConsumerRel.split(",");
var consumers = {};
if (!gs.tableExists('sn_customer_rel_consumer_to_consumer'))
return Object.keys(consumers);
var consumerId = new global.CSManagementUtils().getConsumerId();
var ccrGR = new GlideRecord('sn_customer_rel_consumer_to_consumer');
ccrGR.addQuery('consumer', consumerId);
ccrGR.addQuery("sys_class_name", "sn_customer_rel_consumer_to_consumer");
ccrGR.addQuery('responsibility', 'c009bbedb3730010700b4d43c6a8dcef');
ccrGR.query();
while (ccrGR.next())
consumers[ccrGR.getValue('related_consumer').toString()] = true;
var consumersArray = Object.keys(consumers);
if (consumersArray != null && consumersArray.length>0) {
gs.getSession().putClientData(key, consumersArray.join(","));
}
return consumersArray;
},
isInstallBasePluginActive: function() {
return GlidePluginManager.isActive(global.CSMBaseConstants.INSTALL_BASE_PLUGIN);
},
/*
* returns true if household plugin is active.
*/
isHouseHoldPluginActive: function() {
return GlidePluginManager.isActive(global.CSMBaseConstants.HOUSEHOLD_PLUGIN);
},
getConsumerRelationshipCases: function(includeHouseholdCases) {
var cases = [];
var gr = new GlideRecord(global.CSMBaseConstants.CASE_TABLE);
if (this.isHouseHoldPluginActive() && !includeHouseholdCases) {
gr.addNullQuery("household");
}
// consumer in my consumer relationships
gr.addEncodedQuery("consumerDYNAMICcd5fcbf60fe210103ff81b41ff767e47");
gr._skip_before_query_filter = true;
gr.query();
while (gr.next()) {
cases.push(gr.sys_id + "");
}
return cases;
},
getValidSoldProducts: function(responsibilities) {
var soldProducts = {};
var consumerID = new global.CSManagementUtils().getConsumerId();
soldProducts = new sn_install_base.SoldProductAndInstallBaseFilter().getValidSoldProducts(consumerID,responsibilities);
return soldProducts;
},
getConsumerRelationshipIPs: function(includeHouseholdIPs) {
var installedProducts = [];
if (this.isInstallBasePluginActive()) {
var gr = new GlideRecord(global.CSMBaseConstants.M2M_INSTALLED_PRODUCT);
if (this.isHouseHoldPluginActive() && !includeHouseholdIPs) {
gr.addNullQuery("install_base_item.household");
}
// consumer in my consumer relationships
gr.addEncodedQuery("install_base_item.consumerDYNAMICcd5fcbf60fe210103ff81b41ff767e47");
gr._skip_before_query_filter = true;
gr.query();
while (gr.next()) {
installedProducts.push(gr.sys_id + "");
}
}
return installedProducts;
},
type: 'ConsumerQueryRuleUtil'
};
Sys ID
ed2116e20f2210103ff81b41ff767e23