Name
sn_itom_licensing.ExcludeMetadataAjaxStore
Description
Utiliy for getting category for SKU Type
Script
var ExcludeMetadataAjaxStore = Class.create();
ExcludeMetadataAjaxStore.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
getTableNames: function(tableName) {
if (gs.hasRole('maint')) {
var tableUtil = new global.UtilScript();
var tableArr = tableUtil.getTables(tableName);
return tableArr;
}
return "";
},
getCategory: function() {
var tableName = this.getParameter("sysparm_table_name");
var tableArr = this.getTableNames(tableName);
var categories = [];
tableArr.forEach(function(name) {
var flag = true;
var gr = new GlideRecord('itom_lu_metadata');
gr.addQuery('table', name);
gr.query();
if (gr.getRowCount() > 0 && gr.canRead()) {
while (gr.next() && flag && categories.indexOf(gr.getValue('category')) == -1)
categories.push(gr.getValue('category'));
if (categories.length)
flag = false;
}
});
return JSON.stringify(categories);
},
getParentTable: function() {
var tableName = this.getParameter("sysparm_table_name");
var category = this.getParameter("sysparm_category");
var tableArr = this.getTableNames(tableName);
var res = '';
tableArr.forEach(function(name) {
var gr = new GlideRecord('itom_lu_metadata');
gr.addQuery('table', name);
gr.addQuery('category', category);
gr.query();
if (gr.getRowCount() > 0 && gr.canRead())
res = name;
});
return res;
},
getCategoriesForSKUType: function() {
var skuTypes = this.getParameter("sysparm_skuType");
var skuTypeList = skuTypes.split(',');
var categoryList = [];
skuTypeList.forEach(function(sku) {
var gr = new GlideRecord('itom_lu_category_metadata');
gr.addQuery('sku_type', sku);
gr.query();
while (gr.next() && gr.canRead()) {
if (categoryList.indexOf(gr.getValue('category')) == -1)
categoryList.push(gr.getValue('category'));
}
});
return JSON.stringify(categoryList);
},
type: 'ExcludeMetadataAjaxStore'
});
Sys ID
1f99c840b7c6301046df8985de11a9a8