Name

sn_sow_itsm_common.SOWITSMCommonClientUtilsSNC

Description

No description available

Script

var SOWITSMCommonClientUtilsSNC = Class.create();
SOWITSMCommonClientUtilsSNC.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
  initialize: function(request, responseXML, gc) {
      global.AbstractAjaxProcessor.prototype.initialize.call(this, request, responseXML, gc);
  },

  TABLES: {
      SYS_USER_GRMEMBER: 'sys_user_grmember',
      SYS_USER: 'sys_user'
  },

  getMemberGroups: function(userSysID) {
      if (userSysID === undefined)
          userSysID = this.getParameter('userSysID');
      return JSON.stringify(this._getMemberGroups(userSysID));
  },

  _getMemberGroups: function(userSysID) {
      if (!userSysID)
          return;
      var memberGroups = [];
      var pm = new GlidePluginManager();
      var grMembers = new GlideRecord(this.TABLES.SYS_USER_GRMEMBER);
      grMembers.addQuery('group.active', 'true');
      grMembers.addQuery('user', userSysID);
      grMembers.query();
      while (grMembers.next()) {
          memberGroups.push({
              sys_id: grMembers.group + '',
              displayName: grMembers.group.getDisplayValue()
          });
      }
      if (pm.isActive("com.snc.wfo") && memberGroups.length > 1) {
          var gr = new GlideRecord(this.TABLES.SYS_USER);
          if (gr.get(userSysID) && gr.primary_group) {
              memberGroups = [];
              memberGroups.push({
                  sys_id: gr.primary_group + '',
                  displayName: gr.primary_group.getDisplayValue()
              });
          }
      }
      return memberGroups;
  },

  type: 'SOWITSMCommonClientUtilsSNC'
});

Sys ID

83d911b17763301027aae297cd5a993c

Offical Documentation

Official Docs: