Name

sn_risk_advanced.RiskAssessmentConfigurationUtilsBase

Description

No description available

Script

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

  isRiskResponseMandatory: function(asmtInstance) {
      return this._isRiskResponseMandatory(asmtInstance);
  },

  _isRiskResponseMandatory: function(asmtInstance) {
      var ramReference = new GlideRecord('sn_risk_advanced_risk_assessment_methodology');
      ramReference.get(asmtInstance.getValue('risk_assessment_methodology'));
      var riskResponseMandatoryData = {};
      riskResponseMandatoryData.validateRiskResponseIsDefined = ramReference.getValue('validate_risk_response_is_defined');
      if (ramReference.getValue('validate_risk_response_is_defined') == null) {
          riskResponseMandatoryData.isRiskResponseMandatory = false;
      } else if (ramReference.getValue('validate_risk_response_is_defined') == 'always') {
          riskResponseMandatoryData.isRiskResponseMandatory = true;
      } else if (ramReference.getValue('validate_risk_response_is_defined') == 'script') {
          var evaluator = new GlideScopedEvaluator();
          evaluator.putVariable('result', {});
          evaluator.putVariable('asmtId', asmtInstance.getUniqueValue());
          evaluator.evaluateScript(ramReference, 'risk_response_mandatory_script', null);
          var result = evaluator.getVariable('result');
          riskResponseMandatoryData.isRiskResponseMandatory = result.isMandatory;
          riskResponseMandatoryData.riskResponseMandatoryMessage = result.mandatoryMessage;
      } else if (ramReference.getValue('validate_risk_response_is_defined') == 'condition') {
          var encodedQuery = ramReference.getValue("risk_response_mandatory_condition");
          riskResponseMandatoryData.isRiskResponseMandatory = new AdvancedRiskUtils().doesRecordSatisfyFilterQuery("sn_risk_advanced_risk_assessment_instance", asmtInstance.getUniqueValue(), encodedQuery);
      } else {
          var appetiteUtils = new sn_risk_advanced.RiskAppetiteUtils();
          riskResponseMandatoryData = appetiteUtils.isRiskResponseRequired(asmtInstance.getUniqueValue());
      }
      return riskResponseMandatoryData;
  },

  type: 'RiskAssessmentConfigurationUtilsBase'
};

Sys ID

2fa61383435a2110cb9c0db5bab8f21a

Offical Documentation

Official Docs: