Name
sn_grc.IndicatorAjax
Description
No description available
Script
var IndicatorAjax = Class.create();
IndicatorAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
getRelatedListInfo: function() {
return new sn_grc.IndicatorGeneratorEngine().checkForControlObectiveRiskStatementInRelatedList(
this.getParameter('sysparm_recordId'));
},
copyIndicatorTemplateFields: function() {
var templateRecord = this.getParameter('sysparm_template');
var fields = this.getParameter('sysparm_fields').split(',');
var indicatorTemplate = new GlideRecord('sn_grc_indicator_template');
indicatorTemplate.get(templateRecord);
var result = {};
for (var i = 0; i < fields.length; i++) {
result[fields[i]] = indicatorTemplate.getValue(fields[i]);
}
result['next_run_time'] = indicatorTemplate.getDisplayValue('next_run_time');
return JSON.stringify(result);
},
getNextRunTimeForQuarterlyAndSemiAnnually: function() {
var months = this.getParameter('sysparm_months');
var today = new GlideDateTime();
var recordMonth = 1;
var recordDay = 1;
var currentMonth = today.getMonthLocalTime();
var dayOfMonth = today.getDayOfMonthLocalTime();
var currentMonthNumber = parseInt(currentMonth % months);
var year = today.getYearLocalTime();
var month = '';
if (((recordMonth == months && currentMonthNumber == 0) || (recordMonth != months && currentMonthNumber == recordMonth)) && recordDay > dayOfMonth) {
month = currentMonth;
} else if (currentMonthNumber < recordMonth) {
month = currentMonth + (recordMonth - currentMonthNumber);
} else {
var offset = months - currentMonthNumber;
month = currentMonth + offset + recordMonth;
}
var nextDate = new GlideDate();
nextDate.setValue(year + '-' + month + '-' + recordDay);
return nextDate;
},
type: 'IndicatorAjax'
});
Sys ID
71988ee55b9820102d33bff13381c77c