Name
sn_gf.GFGoal
Description
No description available
Script
var GFGoal = Class.create();
GFGoal.prototype = Object.extendsObject(GFCoreGoal,{
getGoalGR: function(goalId){
if(!this.goalGR){
this.goalId = goalId;
this.goalGR = new GlideRecord(GoalFrameworkConstants.GOAL_TABLE);
this.goalGR.get(this.goalId);
}
return this.goalGR;
},
isValidStrategy: function(){
var strategy = new GlideRecord(GoalFrameworkConstants.STRATEGY_TABLE);
//adding valid strategies ref qual as encoded query
strategy.addEncodedQuery(sn_gf.GFRefQualHelper.getStrategiesForGoal(this.getGoalGR()));
strategy.addQuery("sys_id",this.getGoalGR().getValue("strategy"));
strategy.query();
return strategy.hasNext();
},
getAssignedEntityTypes: function(){
var goalAssignedEntityConfigRec = new GlideRecord(GoalFrameworkConstants.GOAL_ASSIGNED_ENTITY_CONFIG_TABLE);
goalAssignedEntityConfigRec.query();
var list = new GlideChoiceList();
while(goalAssignedEntityConfigRec.next()){
var entityTableName = goalAssignedEntityConfigRec.getValue('assigned_entity_table');
var gr = new GlideRecord(entityTableName);
if(!gr.isValid()) continue;
var label = gr.getClassDisplayValue();
list.add(new GlideChoice(entityTableName, label));
}
return list;
},
getAssignedEntityReferenceColumn: function(assignedEntityType){
var goalAssignedEntityConfigRec = new GlideRecord(GoalFrameworkConstants.GOAL_ASSIGNED_ENTITY_CONFIG_TABLE);
goalAssignedEntityConfigRec.addQuery('assigned_entity_table', assignedEntityType);
goalAssignedEntityConfigRec.query();
if(goalAssignedEntityConfigRec.next()){
return goalAssignedEntityConfigRec.getValue('assigned_entity_field');
}
return '';
},
syncReferenceFieldToAssignedEntityCondition: function() {
var isPortfolioMgmtInstalled = GlidePluginManager.isActive('com.snc.portfolio_management');
var isAPWAdvancedInstalled = GlidePluginManager.isActive('sn_apw_advanced');
return !this.goalGR.assigned_entity.changes() && (this.goalGR.company.changes() ||
this.goalGR.business_unit.changes() ||
this.goalGR.department.changes() ||
(isPortfolioMgmtInstalled && this.goalGR.portfolio.changes()) ||
(isAPWAdvancedInstalled && this.goalGR.product_model.changes()) ||
(isAPWAdvancedInstalled && this.goalGR.initiative.changes()) ||
(isAPWAdvancedInstalled && this.goalGR.strategic_program.changes()));
},
type: 'GFGoal'
});
Sys ID
80538193535130103913ddeeff7b12b8