Name

sn_grc.setAppetiteValuesForEntity

Description

Implements extension point sn_risk_advanced.setAppetiteValues

Script

var setAppetiteValuesForEntity = Class.create();
setAppetiteValuesForEntity.prototype = {
  initialize: function() {},

  setAppetiteValues: function(appetiteInfo) {
      var appetiteStatusFields = appetiteInfo.appetiteStatusFields;
      var appetiteFields = appetiteInfo.appetiteFields;

      var entity = new GlideRecord('sn_grc_profile');
      if (!gs.nil(appetiteInfo.query))
          entity.addEncodedQuery(appetiteInfo.query);
      for (var column in appetiteStatusFields) {
          entity.setValue(column, appetiteStatusFields[column]);
      }

      for (var col in appetiteFields) {
          entity.setValue(col, appetiteFields[col]);
      }
      var columns = ['override_appetite'];
      for (var i = 0; i < columns.length; i++) {
          if (appetiteInfo[columns[i]])
              entity.setValue(columns[i], appetiteInfo[columns[i]]);
      }
      entity.setWorkflow(false);
      entity.updateMultiple();
  },

  copyOverallAppetitStatus: function(appetiteStatusColumn) {
      var appetiteUtils = new sn_risk_advanced.RiskAppetiteUtils();

      var entity = new GlideRecord('sn_grc_profile');
      entity.addQuery(appetiteStatusColumn, appetiteUtils.withInAppetiteStatusId);
      entity.setValue('overall_appetite_status', appetiteUtils.withInAppetiteStatusId);
      entity.setWorkflow(false);
      entity.updateMultiple();

      entity = new GlideRecord('sn_grc_profile');
      entity.addQuery(appetiteStatusColumn, appetiteUtils.outsideAppetiteStautusId);
      entity.setValue('overall_appetite_status', appetiteUtils.outsideAppetiteStautusId);
      entity.setWorkflow(false);
      entity.updateMultiple();

      entity = new GlideRecord('sn_grc_profile');
      entity.addQuery(appetiteStatusColumn, appetiteUtils.outsideToleranceStautusId);
      entity.setValue('overall_appetite_status', appetiteUtils.outsideToleranceStautusId);
      entity.setWorkflow(false);
      entity.updateMultiple();
  },

  type: 'setAppetiteValuesForEntity'
};

Sys ID

e6ffab5a53261110bad1ddeeff7b12d4

Offical Documentation

Official Docs: