Name
sn_sow_problem.SOWProblemRouteUtil
Description
Implements extension point sn_sow_record.SOWRouteUtil
Script
var SOWProblemRouteUtil = Class.create();
SOWProblemRouteUtil.prototype = Object.extendsObject(sn_sow.SOWDefaultRecordRouteUtil, {
initialize: function() {},
getOtherRoutes: function(table, sysId) {
if (sysId != "-1") {
this.RESULT.relatedListRoutes.push({
"route": "related_list_collection",
"fields": {
"show": true,
"relatedListTabName": "fix_tasks"
},
"label": gs.getMessage("Fix Tasks"),
"options": {}
});
}
return;
},
getListsForRelatedListTab: function(relatedLists, table, tabName) {
if (!relatedLists)
return;
var improvementIntiativesList = "REL:55cc7d9e73131300ed1831ff2ef6a7c9";
var excludeLists = ["problem_task.problem"],
lists = [];
var fixTasks = gs.getProperty("problem.fix.records", "change_request.parent,rm_defect.parent,rm_release.parent,rm_enhancement.parent,sn_cim_register.source_id");
if (fixTasks.includes("sn_cim_register.source_id")) {
fixTasks = fixTasks.replace("sn_cim_register.source_id", improvementIntiativesList);
}
fixTasks = fixTasks.split(",");
var fixTaskLists = [];
if (fixTasks.length > 0) {
fixTaskLists = relatedLists.filter(function(rl) {
return fixTasks.indexOf(rl.value) > -1;
});
// Adding these to the exclude list so that they do not repeat on the related_list tab
for (var i = 0; i < fixTaskLists.length; i++) {
excludeLists.push(fixTaskLists[i].value);
}
}
if (tabName === 'fix_tasks') {
lists = fixTaskLists;
} else if (tabName === 'related_list') {
lists = relatedLists.filter(function(rl) {
return excludeLists.indexOf(rl.value) === -1;
});
}
return lists;
},
handles: function(table, sysId) {
return table == "problem";
},
type: 'SOWProblemRouteUtil'
});
Sys ID
fea38b53eb723010e69783402a52281b