Adding Universal Request Donuts to SOW

Frank Cheung
Tera Expert

Hi,

 

I copied the code from Incidents assigned to you + unassigned incidents

to URs assigned to you + unassigned URs. (see screenshot 1).

 

Screenshot 2 shows the donuts are being populated, but when I click on them I'm not getting the list of data below.

 

Am I missing some EVAM definitions? If so, how would I add the missing info. Any ideas?

 

Many thanks!

 

1 ACCEPTED SOLUTION

Hi @Frank Cheung ,

 

You are just populating reports on landing page, complete the whole script by updating interaction between donuts and list views.

 

sample script: 

function include({imports}) {
 
    let serviceDeskLandingPageUtilsSNC = imports['sn_sow_inc.SowIncidentLandingPageUtilsSNC']();
 
    class ServiceDeskLandingPageUtils extends serviceDeskLandingPageUtilsSNC {

static async getVisualizationConfig(helpers, mode) {
 
            const evamDef = this.getEvamDef();
 
            const visualizationConfig = [{
 
                    "id": "incident_assigned",
 
                    "tableName": "incident",
 
                    "tableDisplayValue": "Incident",
 
                    "myWorkQuery": "assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^stateNOT IN6,7,8",
 
                    "myTeamQuery": "stateNOT IN6,7,8^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^assigned_toISNOTEMPTY",
 
                    "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": "catalog_tasks",
 
                    "tableName": "sc_task",
 
                    "tableDisplayValue": "Catalog Task",
 
                    "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^stateIN-5,1,-1,2",
 
                    "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^stateIN-5,1,-1,2",
 
                    "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",
 
                },
 
                  {
 
                    "id": "unassigned_incidents",
 
                    "tableName": "incident",
 
                    "tableDisplayValue": "Incident",
 
                    "myWorkQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^assigned_toISEMPTY^stateIN1,4,5,2,3",
 
                    "myTeamQuery": "active=true^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^assigned_toISEMPTY^stateIN1,4,5,2,3",
 
                    "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": "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": "Reassignment",
 
                    "tableName": "incident",
 
                    "tableDisplayValue": "Incident",
 
                    "myWorkQuery": "stateNOT IN6,7,8^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^active=true^reassignment_count>3",
 
                    "myTeamQuery": "stateNOT IN6,7,8^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^active=true^reassignment_count>3",
 
                    "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
 
                    "header": mode == 'your_work' ? await helpers.translate("My tickets Reassignment Count") : await helpers.translate("My Team's ticket Reassignment Count"),
 
                    "groupByField": "priority",
 
                    "evamId": evamDef['incidentEvamDefinitionId'],
 
                    "updated_on": "^ORDERBYDESCsys_updated_on",
 
                },
 
				{
 
                    "id": "Incident Aging",
 
                    "tableName": "incident",
 
                    "tableDisplayValue": "Incident",
 
                    "myWorkQuery": "stateNOT IN6,7,8^assigned_toDYNAMIC0f63961e5f510100a9ad2572f2b47745^active=true",
 
                    "myTeamQuery": "stateNOT IN6,7,8^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744^active=true",
 
                    "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page",
 
                    "header": mode == 'your_work' ? await helpers.translate("My Incidents Aging") : await helpers.translate("My Team's Incident Aging"),
 
                    "groupByField": "priority",
 
                    "evamId": evamDef['incidentEvamDefinitionId'],
 
                    "updated_on": "^ORDERBYDESCsys_updated_on",
 
                }
 
            ];
 
            return visualizationConfig;
 
        }
 
		  /**

         * Returns configuration for work persona dropdown

         * @param {object} helpers

         * @return {object}

         */

        static async getWorkPersonaConfig(helpers) {

            return {

                "items": [{

                        "id": "your_work",

                        "label": await helpers.translate("Your work")

                    },

                    {

                        "id": "your_team_work",

                        "label": await helpers.translate("Your team's work")

                    }

                ],

                "defaultSelected": ["your_work"]

            }

        }
 
		       static getLabelMaps(table, selectedField, groupByField, groupMode = false) {
 
            if(selectedField == undefined){
 
                 selectedField = 'all';
 
                }
 
            const labelMap = {
 
                'incident': {
 
                    'state': {
 
                        'all':'Incidents',
 
                        '1': 'New incidents',
 
                        '2': 'In Progress incidents',
 
                        '3': 'On Hold incidents',

                        '4': 'In Queue incidents',
 
			'5': 'Assigned incidents',
 
                     

                    },
 
                    'priority': {
 
                         'all':'Unassigned incidents',

                        '1': 'Critical priority  incidents',

                        '2': 'High priority incidents',

                        '3': 'Moderate priority  incidents',

                        '4': 'Low priority incidents',
 
                    }
 
                },
 
                'sc_task': {
 
                    'state': {
 
                        'all':'Catalog tasks',
 
                        '-5': 'Pending catalog tasks',
 
                        '-1': 'Assigned catalog tasks',
 
                        '1': 'Open catalog tasks',
 
                        '2': 'Work in progress catalog tasks'
 
                    }
 
                },
 
                'task': {
 
                    'sys_class_name': {
 
                        'sc_task': 'Catalog tasks delegated to you',
 
                        'incident': 'Incidents delegated to you'
 
                    }
 
                }
 
            };

            if((table == 'incident' && groupByField == 'priority') || table == 'task')
 
                return labelMap[table][groupByField][selectedField];

            if (groupMode)
 
                return labelMap[table][groupByField][selectedField] + ' assigned to your team';
 
            return labelMap[table][groupByField][selectedField] + ' assigned to you';
 
        }
 
        /*
 
        static getLabelMaps() {
 
            return "";
 
        }*/
 
    }
 
    return ServiceDeskLandingPageUtils;
 
}

 

 

 

Thanks,

Pradeep

"If this response was useful, please select 'Accept as Solution' and mark it as 'Helpful.' This helps me provide better answers and assists the community ".

Regards,
Pradeep

View solution in original post

5 REPLIES 5

Frank Cheung
Tera Expert

In screenshot 1, the id should be universal_request_assigned.

Pradeep Thipani
Mega Sage

Hi @Frank Cheung ,

 

Have you mapped your universal_request table under below screenshot script :

PradeepThipani_0-1731691482569.png

 

Thanks,

Pradeep

"If this response was useful, please select 'Accept as Solution' and mark it as 'Helpful.' This helps me provide better answers and assists the community ".

Regards,
Pradeep

Sorry Pradeep, I am unclear what you mean. Can you please provide steps to update this table?

Thanks.

Hi Pradeep,

FYI - this is the complete file:

function include({imports}) { 
    let serviceDeskLandingPageUtilsSNC = imports['sn_sow_inc.SowIncidentLandingPageUtilsSNC']();
    class ServiceDeskLandingPageUtils extends serviceDeskLandingPageUtilsSNC {
        /*
        static getLabelMaps() {
            return "";
        }*/
 
// FC on 05/11/24 added - overrride donut configuration
static async getVisualizationConfig(helpers, mode) { 
 
            const evamDef = this.getEvamDef(); 
 
            const visualizationConfig = [{ 
                    "id": "universal_request_assigned", 
                    "tableName": "universal_request", 
                    "tableDisplayValue": "universal_request", 
                    "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", 
                    "myTeamQuery": "active=true^assigned_toISNOTEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", 
                    "listView": mode == "your_work" ? "sow_landing_page_assigned" : "sow_landing_page", 
                    "header": mode == 'your_work' ? await helpers.translate("Universal requests assigned to you") : await helpers.translate("Universal requests assigned to your team"), 
                    "groupByField": "state", 
                    "evamId": evamDef['incidentEvamDefinitionId'], 
                    "updated_on": "^ORDERBYDESCsys_updated_on", 
                },
                { 
                    "id": "unassigned_universal_request", 
                    "tableName": "universal_request", 
                    "tableDisplayValue": "universal_request", 
                    "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 Universal Requests"), 
                    "groupByField": "priority", 
                    "evamId": evamDef['incidentEvamDefinitionId'], 
                    "updated_on": "^ORDERBYDESCsys_updated_on", 
                },
                    "id": "incident_assigned", 
                    "tableName": "incident", 
                    "tableDisplayValue": "Incident", 
                    "myWorkQuery": "active=true^assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe", 
                    "myTeamQuery": "active=true^assigned_toISNOTEMPTY^assignment_groupDYNAMICd6435e965f510100a9ad2572f2b47744", 
                    "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": "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": "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", 
                }, 
                { 
                    "id": "incident_sla", 
                    "tableName": "task_sla", 
                    "tableDisplayValue": "Task SLA", 
                    "myWorkQuery": "task.sys_class_name=incident^task.assigned_toDYNAMIC90d1921e5f510100a9ad2572f2b477fe^task.active=true^sla.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=OLA^active=true^time_left<=1970-01-08 00:00:00", 
                    "listView": 'sow_landing_page', 
                    "header": await helpers.translate("Incident OLAs"), 
                    "groupByField": "time_left", 
                    "evamId": evamDef['incidentSlaEvamDefinitionId'], 
                    "updated_on": "^ORDERBYtime_left", 
                }
            ]; 
 
            return visualizationConfig; 
        } 
    }
    return ServiceDeskLandingPageUtils;
}