- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-05-2024 12:37 AM
I have an requirement to disable the HR case form fields to be disabled if user doesnt belong to a specific group and also has the hr admin role once the state of the case is Completed.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-05-2024 12:52 AM
Hello Haripriya,
Please try this code and confirm
// Script Include
var user = gs.getUserID();
var checkUser = new GlideRecord('sys_user_grmember');
checkUser.addQuery('user', user);
checkUser.addQuery('group', gs.getProperty('your_property_name')); // replace <sys_id_group> with actual sys_id of group.
checkUser.query();
if (checkUser.next()) {
return true;
} else {
var uRole = new GlideRecord('sys_user_has_role');
uRole.addEncodedQuery('role.nameSTARTSWITHadmin^user=' + user);
uRole.query();
if (uRole.next()) {
return true;
} else {
return false;
}
}
//Client SCript
if (g_form.getValue('state') == '3') {
var callSI = new GlideAjax('erValidationAjax');
callSI.addParam('sysparm_name', 'checkForRole');
callSI.getXML(callBack);
}
function callBack(response) {
var answer = response.responseXML.documentElement.getAttribute('answer');
if (answer == 'true') {
//Nothing
} else {
var fields = g_form.getEditableFields();
for (var x = 0; x < fields.length; x++) {
g_form.setReadOnly(fields[x], true);
}
}
Please mark useful if my response helped you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-05-2024 12:52 AM
Hello Haripriya,
Please try this code and confirm
// Script Include
var user = gs.getUserID();
var checkUser = new GlideRecord('sys_user_grmember');
checkUser.addQuery('user', user);
checkUser.addQuery('group', gs.getProperty('your_property_name')); // replace <sys_id_group> with actual sys_id of group.
checkUser.query();
if (checkUser.next()) {
return true;
} else {
var uRole = new GlideRecord('sys_user_has_role');
uRole.addEncodedQuery('role.nameSTARTSWITHadmin^user=' + user);
uRole.query();
if (uRole.next()) {
return true;
} else {
return false;
}
}
//Client SCript
if (g_form.getValue('state') == '3') {
var callSI = new GlideAjax('erValidationAjax');
callSI.addParam('sysparm_name', 'checkForRole');
callSI.getXML(callBack);
}
function callBack(response) {
var answer = response.responseXML.documentElement.getAttribute('answer');
if (answer == 'true') {
//Nothing
} else {
var fields = g_form.getEditableFields();
for (var x = 0; x < fields.length; x++) {
g_form.setReadOnly(fields[x], true);
}
}
Please mark useful if my response helped you