Make fields read only on form level for incident
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2023 08:03 AM
Hi All,
Recently we have one requirement, For incident, set read only fields on from level when below condition:-
1) Incident is active.
2) User is not member of assignment group
3) Do not apply for users with admin role
I achieved by using ACL but client need on form level i know using client script we can achieve but i am not with coding any help in coding much appreciated.
1 REPLY 1
Community Alums
Not applicable
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2023 08:20 AM
Hi Yugandhar,
Here is the Script. Please don't forget the Script Include name and function name as per yours. (Read the comment)
Client Script:
var ga = new GlideAjax('ScriptIncludeName'); //Script include name
ga.addParam('sysparm_name', 'makeReadOnly'); //Script include function name
ga.addParam('sysparm_incident_sys_id', g_form.getUniqueValue());
ga.getXML(getResponse);
function getResponse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if(answer == true) {
g_form.setReadOnly("short_description",true); //Field name to make read only
}
}
Script Include function:
makeReadOnly: function() {
var inc = new GlideRecord("incident");
inc.addQuery("sys_id", this.getParameter("sysparm_incident_sys_id"));
inc.query();
if (inc.next()) {
if (inc.active == true && gs.getUser().isMemberOf(inc.assignment_group) && !gs.hasRole("admin"))
return true;
}
return false;
}