Name
global.RollupStructureLoader
Description
No description available
Script
var RollupStructureLoader = Class.create();
RollupStructureLoader.prototype = {
initialize: function() {
},
loadStructure: function(childRecord, rollupColumn, parentNavigator, parentSysId) {
var rollupStructure = {};
var childTable = childRecord.getTableName();
if ( childTable.match(/project_task$/) || childTable.match(/project$/) )
childTable = 'planned_task';
var childSysId; // used for delete operation
if(childRecord.operation() == "delete") {
//gs.info("Delete operation on Task: " + childSysId)
childSysId = childRecord.getValue("sys_id");
}
var gr = this.getTaskChildren(childTable, parentNavigator, parentSysId, childSysId);
while(gr.next()) {
rollupStructure[gr.getValue("sys_id")] = {};
var valueMap = rollupStructure[gr.getValue("sys_id")];
valueMap[rollupColumn] = gr.getValue(rollupColumn);
//gs.info("Record Value -->" + gr.getValue("sys_id") + ": {" + rollupColumn + ": " + gr.getValue(rollupColumn) + " }");
}
return rollupStructure;
},
getTaskChildren: function(tableName, parentNavigator, parentSysId, ignoreSysId) {
var gr = new GlideRecord(tableName);
gr.addQuery(parentNavigator, parentSysId);
gr.addNullQuery("orig_sys_id");
if(ignoreSysId)
gr.addQuery("sys_id", "!=", ignoreSysId);
gr.query();
return gr;
},
type: 'RollupStructureLoader'
};
Sys ID
9344e1219f230200598a5bb0657fcf8b