How to enable Risk Assessment UI action in Agent Workspace

George Mathew
Tera Contributor

How to make the Change Risk Assessment related link to be available in Agent Workspace.

I have enabled the workspace button checkbox in the UI action and its showing in Agent Workspace. But when clicking on it nothing happens. Please help.

 

9 REPLIES 9

harshav
Tera Guru

If it is not working then client checkbox might be checked, in this case you need to write Workspace specific client script. If you want you can check OOB there are multiple UI actions having that code.

Search by something like this "Workspace Form Button=true>Client=true" and update your UI Action accordingly.

 

Thanks

Sreeharsha

Brenda5
Tera Contributor

In case you still need it, I was able to get it to work. You'll need to make sure Workspace Form button is checked and enter this code in the Workspace Client script within the Risk Assessment UI Action:

function onClick(g_form) {
	var id = g_form.getUniqueValue();
	var ga = new GlideAjax('ChangeRiskAsmtAjax');
	ga.addParam('sysparm_name','invokeAssessmentAjax');
	ga.addParam('sysparm_id',id);
	ga.addParam('sysparm_class','change_request');
	ga.getXML(ajaxAnswer);
}

function ajaxAnswer (response) {
	var answer = response.responseXML.documentElement.getAttribute("answer");
	answer = JSON.parse(answer);
	var asmtInstanceSysId = answer.asmtInstanceSysId;
	var changeRiskAsmtSysId = answer.changeRiskAsmtSysId;
	var changeRequestSysId = answer.changeRequestSysId;
	var riskAsmtName = answer.riskAsmtName;
	handleAsmt(asmtInstanceSysId, changeRiskAsmtSysId, changeRequestSysId, riskAsmtName);
}

function handleAsmt(asmtInstanceSysId, changeRiskAsmtSysId, changeRequestSysId, riskAsmtName) {
	var asmtUiPage = "assessment_take2";
	var url1 = asmtUiPage + ".do";
	url1 += "?sysparm_assessable_sysid=" + asmtInstanceSysId;
	url1 += "&sysparm_assessable_type=" + changeRiskAsmtSysId;
	url1 += "&sysparm_hide_header=true";
	url1 += "&sysparm_hide_save=true";
	url1 += "&sysparm_hide_cancel=true";
	url1 += "&sysparm_hide_source_details=true";
	url1 += "&sysparm_stack=no";
	url1 += "&sysparm_return_url=" + getEncodedUrl(changeRequestSysId, asmtInstanceSysId);
	g_modal.showFrame({
		url: url1,
		title: riskAsmtName + "",
		size: 'lg',
		height: 500
	});
	window.NOW.change_managment = { "riskAsmtAction" : "delete" };
	window.g_parentDialog = dialogWindow;
}
function getEncodedUrl(changeRequestSysId, asmtInstanceSysId) {
	var closeUiPage = "change_risk_asmt_close_dialog";
	var url = "/" + closeUiPage + ".do";
	url += "?sysparm_stack=no";
	url += "&sysparm_id=" + changeRequestSysId;
	url += "&sysparm_asmtInstanceSysId=" + asmtInstanceSysId;
	return encodeURIComponent(url);
}

Hope it works!

Thank you so much, that code was very helpful. Appreciate it! Wish you all the best 🙂

The code is working perfectly, but when I submit the assessment the risk assessment button still appears in SOW and is hidden in the backend. I guess the OOTB script include is not working there unfortunately. How did you fix this problem?