Add problem and change to donuts on SOW home page

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-27-2025 11:14 AM - edited ‎02-27-2025 11:16 AM
This is the code I got for making problem show in SOW for level 2 from training. The first code had to be added to the Tire 1 donut config. The second peace of code needed to be added to the Tire 2 donut config. But this only shows problem tasks and change task. I need to also show problem and change. What needs to change to show change and problem.
Tire 1 donut config:
function include({imports}) {
let serviceDeskLandingPageUtilsSNC = imports['sn_sow_inc.SowIncidentLandingPageUtilsSNC']();
class ServiceDeskLandingPageUtils extends serviceDeskLandingPageUtilsSNC {
static async getVisualizationConfig(helpers, mode, conditionalRecordCount=0) {
const evamDef = this.getEvamDef();
const visualizationConfig = [{
"id": "incident_assigned",
"tableName": "incident",
"tableDisplayValue": "Incident",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^state!=6",
"myTeamQuery": "active=true^assigned_toISNOTEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^state!=6",
"listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
"header": mode == 'your_work' ? await helpers.translate("Incidents assigned to you") : await helpers.translate("Incidents assigned to your team"),
"groupByField": "state",
"evamId": evamDef['incidentEvamDefinitionId'],
"updated_on": "^ORDERBYDESCsys_updated_on",
},
{
"id": "incident_sla",
"tableName": "task_sla",
"tableDisplayValue": "Task SLA",
"myWorkQuery": "task.sys_class_name=incident^task.assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00",
"myTeamQuery": "task.sys_class_name=incident^task.assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^task.active=true^sla.type=SLA^ORsla.type=OLA^active=true^time_left<=1970-01-08 00:00:00",
"listView": 'sow_landing_page',
"header": await helpers.translate("Incident SLAs"),
"groupByField": "time_left",
"evamId": evamDef['incidentSlaEvamDefinitionId'],
"updated_on": "^ORDERBYtime_left",
},
{
"id": "unassigned_incidents",
"tableName": "incident",
"tableDisplayValue": "Incident",
"myWorkQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"myTeamQuery": "active=true^assigned_toISEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
"header": await helpers.translate("Unassigned incidents"),
"groupByField": "priority",
"evamId": evamDef['incidentEvamDefinitionId'],
"updated_on": "^ORDERBYDESCsys_updated_on",
},
{
"id": "problem_task_assigned",
"tableName": "problem_task",
"tableDisplayValue": "Problem Tasks",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
"myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
"header": mode == 'your_work' ? await helpers.translate("Problem Tasks assigned to you") : await helpers.translate("Problem Tasks assigned to your team"),
"groupByField": "state",
// "evamId": evamDef['incidentEvamDefinitionId'],
"updated_on": "^ORDERBYDESCsys_updated_on",
},
{
"id": "catalog_tasks",
"tableName": "sc_task",
"tableDisplayValue": "Catalog Task",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
"myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"listView": 'sow_landing_page',
"header": mode == 'your_work' ? await helpers.translate("Catalog tasks assigned to you") : await helpers.translate("Catalog tasks assigned to your team"),
"groupByField": "state",
"evamId": evamDef["catalogTaskEvamDefinitionId"],
"updated_on": "^ORDERBYDESCsys_updated_on",
}
];
if(mode=='your_work' && conditionalRecordCount>0){
const conditionalConfig = await this.getConditionalVisualizationConfig(helpers);
visualizationConfig.push(conditionalConfig);
}
return visualizationConfig;
}
static async fetchTitle(table, nameValueMap, groupMode = false, elementId) {
if (table === "task") {
return this.getLabelMaps(table, nameValueMap['sys_class_name'], groupMode, elementId);
}
return this.getLabelMaps(table, nameValueMap['state'], groupMode, elementId);
}
static getLabelMaps(table, selectedField, groupMode = false, elementId) {
if (selectedField == undefined) {
selectedField = 'all';
}
const labelMap = {
'incident': {
'1': 'New incidents',
'2': 'In Progress incidents',
'3': 'On Hold incidents',
'6': 'Resolved incidents',
'all': 'Incidents'
},
'change_request': {
'0': 'In Review changes',
'-1': 'Implement changes',
'-2': 'Scheduled changes',
'-3': 'Authorize changes',
'-4': 'Assess changes',
'-5': 'New changes',
'all': 'Changes'
},
'problem_task': {
'151': 'New',
'154': 'Work in Progress',
'152': 'Assess',
'157': 'Closed',
'all': 'Problem Tasks'
},
'problem': {
'101': 'New problems',
'102': 'Assess problems',
'106': 'Resolved problems',
'104': 'Fix in Progress problems',
'103': 'Root Cause Analysis problems',
'all': 'Problems'
},
'task': {
'incident_task': 'Incident tasks',
'problem_task': 'Problem tasks',
'change_task': 'Change tasks',
'sc_task': 'Catalog tasks',
'incident': 'Incidents',
'problem': 'Problems',
'change_request': 'Change requests',
'all': 'Tasks'
}
};
if (elementId === 'delegated_task')
return labelMap[table][selectedField] + ' delegated to you';
if (groupMode)
return labelMap[table][selectedField] + ' assigned to your team';
return labelMap[table][selectedField] + ' assigned to you';
}
}
return ServiceDeskLandingPageUtils;
}
Tire 2 donut config
function include({imports}) {
let SOWLandingPageTier2UtilsSNC = imports['sn_sow_itsm_common.SOWLandingPageTier2UtilsSNC']();
class SOWLandingPageTier2Utils extends SOWLandingPageTier2UtilsSNC {
static async fetchTitle(table, nameValueMap, groupMode = false, elementId) {
if (table === "task") {
return this.getLabelMaps(table, nameValueMap['sys_class_name'], groupMode, elementId);
}
return this.getLabelMaps(table, nameValueMap['state'], groupMode, elementId);
}
static getLabelMaps(table, selectedField, groupMode = false, elementId) {
if (selectedField == undefined) {
selectedField = 'all';
}
const labelMap = {
'incident': {
'1': 'New incidents',
'2': 'In Progress incidents',
'3': 'On Hold incidents',
'6': 'Resolved incidents',
'all': 'Incidents'
},
'change_request': {
'0': 'In Review changes',
'-1': 'Implement changes',
'-2': 'Scheduled changes',
'-3': 'Authorize changes',
'-4': 'Assess changes',
'-5': 'New changes',
'all': 'Changes'
},
'problem_task': {
'151': 'New',
'154': 'Work in Progress',
'152': 'Assess',
'157': 'Closed',
'all': 'Problem Tasks'
},
'problem': {
'101': 'New problems',
'102': 'Assess problems',
'106': 'Resolved problems',
'104': 'Fix in Progress problems',
'103': 'Root Cause Analysis problems',
'all': 'Problems'
},
'task': {
'incident_task': 'Incident tasks',
'problem_task': 'Problem tasks',
'change_task': 'Change tasks',
'sc_task': 'Catalog tasks',
'incident': 'Incidents',
'problem': 'Problems',
'change_request': 'Change requests',
'all': 'Tasks'
}
};
if (elementId === 'delegated_task')
return labelMap[table][selectedField] + ' delegated to you';
if (groupMode)
return labelMap[table][selectedField] + ' assigned to your team';
return labelMap[table][selectedField] + ' assigned to you';
}
static async getVisualizationConfig(helpers, mode, conditionalRecordCount) {
const visualizationConfig = [{
"id": "incidentAssigned",
"tableName": "incident",
"tableDisplayValue": "Incident",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^state!=6",
"myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^state!=6",
"header": mode == 'your_work' ? await helpers.translate("Incidents assigned to you") : await helpers.translate("Incidents assigned to your team"),
"groupByField": "state",
"evamId": "01a404e8b7203010e69dbc16de11a93f",
"updated_on": "^ORDERBYDESCsys_updated_on",
},
{
"id": "problemsAssigned",
"tableName": "problem",
"tableDisplayValue": "Problem",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
"myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"header": mode == 'your_work' ? await helpers.translate("Problems assigned to you") : await helpers.translate("Problems assigned to your team"),
"groupByField": "state",
"evamId": "5f0697b8f49bc510f8773ad5bd0ae292",
"updated_on": "^ORDERBYDESCsys_updated_on",
},
{
"id": "changesAssigned",
"tableName": "change_request",
"tableDisplayValue": "Change Request",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
"myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"header": mode == 'your_work' ? await helpers.translate("Changes assigned to you") : await helpers.translate("Changes assigned to your team"),
"groupByField": "state",
"evamId": "e1f06c4194130110f87765e94545da91",
"updated_on": "^ORDERBYDESCsys_updated_on",
},
{
"id": "problem_task_assigned",
"tableName": "problem_task",
"tableDisplayValue": "Problem Tasks",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe",
"myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744",
"listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
"header": mode == 'your_work' ? await helpers.translate("Problem Tasks assigned to you") : await helpers.translate("Problem Tasks assigned to your team"),
"groupByField": "state",
// "evamId": evamDef['incidentEvamDefinitionId'],
"updated_on": "^ORDERBYDESCsys_updated_on",
},
{
"id": "taskAssigned",
"tableName": "task",
"tableDisplayValue": "Task",
"myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^sys_class_name=incident_task^ORsys_class_name=problem_task^ORsys_class_name=change_task^ORsys_class_name=sc_task",
"myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^sys_class_name=incident_task^ORsys_class_name=problem_task^ORsys_class_name=change_task^ORsys_class_name=sc_task",
"header": mode == 'your_work' ? await helpers.translate("Tasks assigned to you") : await helpers.translate("Tasks assigned to your team"),
"groupByField": "sys_class_name",
"evamId": "615d205d94df0110f87765e94545da03",
"updated_on": "^ORDERBYDESCsys_updated_on",
}];
if(mode=='your_work' && conditionalRecordCount>0){
const conditionalConfig = await this.getConditionalVisualizationConfig(helpers);
visualizationConfig.push(conditionalConfig);
}
return visualizationConfig;
}
}
return SOWLandingPageTier2Utils;
}
0 REPLIES 0