Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Add problem and change to donuts on SOW home page

Brian Lancaster
Kilo Patron

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