Name
global.SprintTrackingCommonService
Description
No description available
Script
var SprintTrackingCommonService = Class.create();
SprintTrackingCommonService.prototype = {
initialize: function(parentSysClassName, childSysClassName, relationField, viewName, listViewName, tableMap, isMultiTaskActive) {
this.parentSysClassName = parentSysClassName;
this.childSysClassName = childSysClassName;
this.relationField = relationField;
this.viewName = viewName;
this.listViewName = listViewName;
this.tableMap = tableMap;
this.isMultiTaskActive = isMultiTaskActive;
},
getCurrentSprintData: function(groupId, pageSize, offset, recordType) {
var records = [];
var sprint = new GlideRecordSecure(this.parentSysClassName);
var result = {};
var getFieldAsObject = function(rec, fieldName) {
return {
value: rec.getValue(fieldName),
display_value: rec.getDisplayValue(fieldName)
};
};
sprint.addQuery('sys_class_name', this.parentSysClassName);
sprint.addQuery('state', 2);
sprint.addQuery('assignment_group', groupId);
sprint.query();
if(sprint.next()) {
var gr = new GlideRecordSecure(this.childSysClassName);
gr.addQuery(this.relationField, sprint.getValue('sys_id'));
gr.orderBy('global_rank');
offset = parseInt(offset);
pageSize = parseInt(pageSize);
if(JSUtil.notNil(offset) && JSUtil.notNil(pageSize))
gr.chooseWindow(offset, offset + pageSize);
gr.query();
result.totalCount = gr.getRowCount();
while(gr.next()) {
var record = {};
var assignedTo;
var canReadRecord = false;
var originalTaskObj;
if(this.isMultiTaskActive) {
if(JSUtil.notNil(gr.original_task)) {
originalTaskObj = gr.original_task.getRefRecord();
canReadRecord = originalTaskObj.canRead();
if(canReadRecord) {
record.sys_class_name = getFieldAsObject(gr, 'sys_class_name');
record['original_task.sys_class_name'] = getFieldAsObject(originalTaskObj, 'sys_class_name');
record['original_task.sys_id'] = getFieldAsObject(originalTaskObj, 'sys_id');
record.number = originalTaskObj.getValue('number');
record.sysId = gr.getValue('sys_id');
record.sys_id = gr.getValue('sys_id');
record.short_description = originalTaskObj.getValue('short_description');
record.state = gr.getDisplayValue('state');
assignedTo = gr.getValue('assigned_to');
}
}
} else {
record.sys_class_name = getFieldAsObject(gr, 'sys_class_name');
record.number = gr.getValue('number');
record.sysId = gr.getValue('sys_id');
record.sys_id = gr.getValue('sys_id');
record.short_description = gr.getDisplayValue('short_description');
record.state = gr.getDisplayValue('state');
assignedTo = gr.getValue('assigned_to');
canReadRecord = true;
}
if(canReadRecord) {
if(assignedTo)
record.assignedTo = new UserProfileService().generateProfile(assignedTo);
record.table = this.tableMap[recordType];
if(recordType === 'test')
record.query = 'task=' + record.sysId + '^ORDERBYsys_created_on&ORDERBYnumber';
else if( recordType === 'scrum_task' )
record.query = 'story=' + record.sysId + '^ORDERBYsys_created_on&ORDERBYnumber';
record.view = this.viewName;
record.listView = this.listViewName;
record.pageSize = parseInt(gs.getUser().getPreference('rowcount'));
records.push(record);
}
}
}
result.records = records;
return result;
},
type: 'SprintTrackingCommonService'
};
Sys ID
89a96e4a0f01230096f9d6892f767ea5