Name
global.PlannedTaskMetadata
Description
Generic Metadata
Script
var PlannedTaskMetadata = Class.create();
PlannedTaskMetadata.prototype = {
initialize: function(sysClassName, consoleId) {
this.sysClassName = sysClassName;
this.consoleId = consoleId;
},
metadata: function() {
PPMDebug.log("Into PlannedTaskMetadata.metadata -> " + this.sysClassName + " | " + this.consoleId);
var tableName = this.sysClassName;
var title = (new GlideTableDescriptor(tableName)).getLabel();
var childSysClass = 'planned_task';
var pmConsole = new PPMConsole(tableName);
if(!pmConsole.isValid()) {
tableName = 'planned_task';
var childTables = pmConsole.getChildTables();
if(JSUtil.notNil(childTables) && childTables.length > 0)
childSysClass = childTables[0];
}
PPMDebug.log("tableName -> " + tableName + " | childSysClass -> " + childSysClass);
if(JSUtil.notNil(this.consoleId)) {
var console = new PlannedTaskCustomConsole(this.consoleId);
title = console.name();
}
var columnConfig = (new SNC.PlannedTaskAPI()).entityMetadata(tableName, 'default');
columnConfig = (new JSON()).decode(columnConfig);
var glideSession = gs.getSession();
var metadata = {
columnConfig: columnConfig,
tooltipConfig: ['state', 'start_date', 'end_date', 'duration'],
workbenchUrl: '#',
canAddPhase: false,
timeZone: glideSession.getTimeZoneName(),
brMode: false,
calculation_type: "automatic",
childSysClass: childSysClass,
title: title,
dateFormat: gs.getDateFormat(),
dateTimeFormat: gs.getDateTimeFormat(),
hideFirstColumnHeaderLabel : true,
field_mapping : this.getDateFromConsoleConfig(this.sysClassName)
};
if(GlidePluginManager.isActive('com.snc.financial_planning_pmo'))
metadata = this._setFinancialMetadata(metadata);
return metadata;
},
getDateFromConsoleConfig: function (sysClassName) {
var ppmConsole = new PPMConsole(sysClassName, "default");
return {
start_date: ppmConsole.getJSONColumnForColumn('start_date'),
end_date: ppmConsole.getJSONColumnForColumn('end_date'),
duration: ppmConsole.getJSONColumnForColumn('duration'),
wbs: ppmConsole.getJSONColumnForColumn('wbs'),
state: ppmConsole.getJSONColumnForColumn('state'),
assigned_to: ppmConsole.getJSONColumnForColumn('assigned_to')
};
},
_setFinancialMetadata: function(metadata) {
metadata.currencySymbol = PPMCurrencyHelper.defaultCurrencySymbol();
return metadata;
},
type: 'PlannedTaskMetadata'
};
Sys ID
f1ed9b749f413200598a5bb0657fcf92