Name
global.ChangeManagementEventUtilSNC
Description
Base Change Request event utility class. Use the ChangeManagementEventUtil script include to override functionality in this script if required
Script
var ChangeManagementEventUtilSNC = Class.create();
ChangeManagementEventUtilSNC.PROP_GENERATE_STATE_EVENT_ENABLED = "com.snc.change_request.event.state_updated.enabled";
ChangeManagementEventUtilSNC.PROP_GENERATE_STATE_EVENT_STATES = "com.snc.change_request.event.state_updated.states";
ChangeManagementEventUtilSNC.EVENT_CHANGE_STATE_UPDATED = "sn_change.state.updated";
ChangeManagementEventUtilSNC.prototype = {
initialize: function() {},
generateStateUpdatedEvent: function(current, previous) {
if (current.state.changes() && this._checkEventProperty(current))
this._generateEvent(current, previous);
},
_checkEventProperty: function(current) {
if (gs.getProperty(ChangeManagementEventUtilSNC.PROP_GENERATE_STATE_EVENT_ENABLED, "true") !== "true")
return false;
var statePropertyValue = gs.getProperty(ChangeManagementEventUtilSNC.PROP_GENERATE_STATE_EVENT_STATES, "").trim();
if (statePropertyValue === "" || statePropertyValue.split(",").map(function(state) {
return state.trim();
}).indexOf(current.getValue("state")) > -1)
return true;
return false;
},
_generateEvent: function(current, previous) {
gs.eventQueue(ChangeManagementEventUtilSNC.EVENT_CHANGE_STATE_UPDATED, current, current.state, current.operation() === "update" ? previous.state : "");
},
type: 'ChangeManagementEventUtilSNC'
};
Sys ID
84244dbb23220010fa5bfa9e27bf65c2