
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2022 08:14 AM
Hi,
We have a select box variable in a catalog item which has 3 choices, A,B,C. If the logged in user is a member of Group X, then they can see all 3 choices, but if they are a member of any other group, they should only see A and B.
I tested the principle using the following role based on load Client Script, which works exactly as we need it:
function onLoad() {
var isAdmin = g_user.hasRole('admin');
if (!isAdmin){
//alert('Current user is not an admin');
g_form.removeOption('variable','C');
}
}
My question is how to turn this into a group based condition. I tried the following, but the gs object should not be used in client scripts
function onLoad() {
var currentUser = gs.getUser();
if (currentUser.isMemberOf('X')){
g_form.addOption('variable','C');
Any help gratefully received.
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2022 05:07 PM
Hi Cirrus,
Create a Script Include and call it from Client Script.
Variable choices defined as below.
Script Include
var UserInfoClient = Class.create();
UserInfoClient.prototype = Object.extendsObject(AbstractAjaxProcessor, {
isUserInGroup: function() {
return gs.getUser().isMemberOf('<name of group>').toString();
},
type: 'UserInfoClient'
});
Client Script
function onLoad() {
var ajax = new GlideAjax('UserInfoClient');
ajax.addParam('sysparm_name', 'isUserInGroup');
ajax.getXMLAnswer(function(answer) {
if (answer.length > 0 && answer == 'true') {
g_form.addOption('variable', 'C', 'C');
}
});
}
Execution result
case 1:when user is a member of a group
case 2: when user is not a member of a group

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-20-2022 07:59 AM
Thanks Nick, changed the client script Name as you suggested and all is working fine
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-20-2022 08:06 AM
No worries, consider marking Hitoshi's answer at the top of this thread as the accepted "answer" instead of mine, you can mark the other comments as helpful if they helped you instead 🙂

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-20-2022 08:01 AM
Thanks everyone for your input on this. We got there in the end 🙂
Like I said, much appreciated