- 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 05:58 AM
Hi,
If requestor and support_group are String fields, below code works.
var user = g_form.getReference('assearch',readOnly);
function readOnly(user)
{
var userDisplay = user.requestor;
var userGroup = user.support_group;
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('user',userDisplay);
getMembers.addQuery('group',userGroup);
getMembers.query();
if(!getMembers.next())
{
g_form.setReadOnly('field1',true);
g_form.setReadOnly('field2',true);
}
}
Mark the answer as Correct/Helpful based on its impact.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 05:55 AM
actually i tested getValue after posting this message and it work. now I am down with the condition..
what I really needed is that if requestor isn't a member of the support_group, variables will be set to readonly, else enable. however, both enabled the fields. anyone can assist?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 06:00 AM
Hi,
If requestor and support_group are String fields, below code works.
var user = g_form.getReference('assearch',readOnly);
function readOnly(user)
{
var userDisplay = user.requestor;
var userGroup = user.support_group;
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('user',userDisplay);
getMembers.addQuery('group',userGroup);
getMembers.query();
if(!getMembers.next())
{
g_form.setReadOnly('field1',true);
g_form.setReadOnly('field2',true);
}
}
Mark the answer as Correct/Helpful based on its impact.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 06:50 AM
the two fields are value from a reference table (sys_user and sys_user_group). If you could help.. im still new to sn scripting.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-27-2018 06:58 AM
Hi,
Try with the below code and let me know the result.
var user = g_form.getReference('assearch',readOnly);
function readOnly(user)
{
var userDisplay = user.getReference('requestor');
var userGroup = user.getReference('support_group');
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('user',userDisplay.sys_id);
getMembers.addQuery('group',userGroup.sys_id);
getMembers.query();
if(!getMembers.next())
{
g_form.setReadOnly('field1',true);
g_form.setReadOnly('field2',true);
}
}
Mark the answer as Correct/Helpful based on its impact.
Thanks,
Chappidi Archana