Name
global.PlannedTaskSkippedStates
Description
No description available
Script
var PlannedTaskSkippedStates = Class.create();
PlannedTaskSkippedStates.prototype = {
CLOSED_SKIPPED_STATE : 7,
CLOSED_INCOMPLETE_STATE : 4,
initialize: function(plannedTask) {
this.plannedTask = plannedTask;
this.skippedStates = this._getSkippedStatesFromExtentionPoints();
},
shouldUpdatePercentComplete: function(/*String*/ state){
if(JSUtil.nil(state))
return true;
var isSkipped = this._isSkippedState(state);
if(isSkipped)
return false;
return true;
},
_getSkippedStatesFromExtentionPoints: function(){
var plannedTask = this.plannedTask;
var skippedStates = [];
var eps = new GlideScriptedExtensionPoint().getExtensions("ClosedStatesToSkipPercentCompleteRollUp");
for(var i=0; i< eps.length; i++){
var statesFromExtnPoints = [];
var ep = eps[i];
ep.initialize(plannedTask);
statesFromExtnPoints = ep.getStates();
skippedStates = skippedStates.concat(statesFromExtnPoints);
}
return skippedStates;
},
_isSkippedState: function(/*string*/ state){
state = state + '';
var isSkipped = false;
var currentStateIsInSkippedStates = this.skippedStates.indexOf(state) >= 0;
var skippedStates = this.skippedStates;
PPMDebug.log("PlannedTaskSkippedStates: isInSkippedState "+ currentStateIsInSkippedStates);
if(currentStateIsInSkippedStates)
isSkipped = true;
return isSkipped;
},
type: 'PlannedTaskSkippedStates'
};
Sys ID
db6fe07173432300055e09496bf6a7a5