- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 05:17 AM
I am running a catalog item with this code but I got thrown out by a javascript error on browser. Anyone can help would really appreciate.
End goal is that when requestor is part of the support_group, i can run setReadonly to couple of fields.
var userDisplay = g_form.getDisplayValue(assearch.requestor);
var userGroup = g_form.getDisplayValue(assearch.support_group);
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('user',userDisplay);
getMembers.addQuery('group',userGroup);
getMembers.query();
if(!getMembers.next()) {
//return Yes;
}
(g_env) [SCRIPT:EXEC] Error while running Client Script
"onChange of HW Asset":
TypeError: Cannot read property 'requestor' of undefined
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 06:55 AM
You can do below
//Check to see if assigned to is a member of selected group
var grpName = g_form.getDisplayBox(assearch.support_group).value;;
var usrID = g_form.getDisplayBox(assearch.requestor).value;
var grp = new GlideRecord('sys_user_grmember');
grp.addQuery('group.name', grpName);
grp.addQuery('user', usrID);
grp.query(groupMemberCallback);
function groupMemberCallback(grp){
//If user is a member of selected group
if(grp.next()){
//Do something
//alert('Is a member');
}else{
//alert('Is not a member');
g_form.setReadOnly('field1',true);
g_form.setReadOnly('field2',true);
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 06:55 AM
You can do below
//Check to see if assigned to is a member of selected group
var grpName = g_form.getDisplayBox(assearch.support_group).value;;
var usrID = g_form.getDisplayBox(assearch.requestor).value;
var grp = new GlideRecord('sys_user_grmember');
grp.addQuery('group.name', grpName);
grp.addQuery('user', usrID);
grp.query(groupMemberCallback);
function groupMemberCallback(grp){
//If user is a member of selected group
if(grp.next()){
//Do something
//alert('Is a member');
}else{
//alert('Is not a member');
g_form.setReadOnly('field1',true);
g_form.setReadOnly('field2',true);
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 07:05 AM
try this:
var userDisplay = g_form.getDisplayBox(assearch.requestor).value;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 07:36 AM
actually just re-read your requirement, the fields on the sys_user_grmember table are reference fields so they need a sys_id, so getValue will be fine. You need to list the field name in quotation marks.
var userDisplay = g_form.getValue('assearch.requestor');
var userGroup = g_form.getValue('assearch.support_group');
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('user',userDisplay);
getMembers.addQuery('group',userGroup);
getMembers.query(callBackFunction);
function callBackFunction(getMembers){
if(getMembers.hasNext()){
g_form.setReadOnly('field_name');
}