Name
sn_risk.RiskUtilsAJAX
Description
Client-callable Risk methods.
Script
var RiskUtilsAJAX = Class.create();
RiskUtilsAJAX.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
getRiskScore: function() {
var significance = this.getParameter('sysparm_significance');
var likelihood = this.getParameter('sysparm_likelihood');
var grSignificance = new GlideRecord('grc_risk_criteria');
var grLikelihood = new GlideRecord('grc_risk_criteria');
if(!grSignificance.get(significance) || !grLikelihood.get(likelihood))
return '';
return new RiskUtils().getRiskScore(grSignificance.weighting, grLikelihood.weighting).sys_id + '';
},
getRiskValuesFromRiskDefinition: function() {
var definitionId = this.getParameter('sysparm_definition_id');
var definition = new GlideRecord('sn_risk_definition');
definition.get(definitionId);
var result = {};
result.description = definition.description + '';
result.additional_information = definition.additional_information + '';
result.category = this._getCategoryValue(definition.category + '');
result.name = definition.name + '';
result.likelihood =
this._getCriteria('Likelihood', definition.likelihood.display_value);
result.significance =
this._getCriteria('Significance', definition.impact.display_value);
return (new global.JSON()).encode(result);
},
_getCategoryValue: function(defId) {
var categoryValue = '';
var defChoice = '';
var choice = new GlideRecord('sn_grc_choice');
if (choice.get(defId))
defChoice = choice.name + '';
if (defChoice != '') {
var riskChoice = new GlideRecord('sys_choice');
riskChoice.addQuery('name', 'grc_risk');
riskChoice.addQuery('element', 'category');
riskChoice.addQuery('value', defChoice);
riskChoice.addQuery('language', 'en');
riskChoice.query();
if (riskChoice.next())
categoryValue = defChoice;
}
return categoryValue;
},
_getCriteria: function(type, displayValue) {
var criteria = new GlideRecord('grc_risk_criteria');
criteria.addQuery('type', type);
criteria.addQuery('display_value', displayValue);
criteria.query();
if (criteria.next())
return criteria.sys_id + '';
else
return '';
},
});
Sys ID
38a2c651cb133100829cf865734c9c89