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

Offical Documentation

Official Docs: