- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā07-03-2020 06:14 AM
Hi
I want to make a scoped BR run a conditon:
Suppose the BR is on incident table, then the BR should only run when the caller in the caller_id field is a member of a particular group.
I tried the below code in the condition field
gs.getUser(current.caller_id).isMemberOf(<group name>)
But this gives false, because instead of taking the user in caller field it takes logged in user.
Any solution for this?
Note: If similar code is user in background script as below in a gliderecord: gs.getUser(gr.caller_id).isMemberOf(<group name>) It returns the expected output. |
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā07-04-2020 05:09 AM
HI
isMemberOf() will only work for loggedin users but as your requirement is to use the script in BR CONDITION. To achieve this you need to write a Script include and GlideRecord Group Member table and check if Caller is member of group then return true otherwise return false. Let me give you a sample.
BR CONDITION [if script include is in SAME scope]
javascript: new groupMemberUtility().member(current.caller_id);
BR CONDITION [if script include is in GLOBAL scope i.e call it by its API name]
javascript: new global.groupMemberUtility().member(current.caller_id);
SCRIPT INCLUDE
NAME - groupMemberUtility
var groupMemberUtility = Class.create(); //(auto generated)
groupMemberUtility.prototype = Object.extendsObject(AbstractAjaxProcessor, { //(auto generated)
member: function(data) {
gs.info("$$SH ---> Script include called!!! " + data);
var gr = new GlideRecord("sys_user_grmember");
gr.addQuery("user", data);
gr.setLimit(1);
gr.query();
if (gr.next())
return true;
return false;
},
});
Please mark this CORRECT & HELPFUL, if it answered your question.
Thanks & Regards,
Sharjeel
Muhammad

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā07-03-2020 06:16 AM
Can you post your entire code? It should work I think there might be another reason you're getting false.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā07-04-2020 12:50 AM
Hi Elijah
This is the entire code. This is to be applied to condition field of BR
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā07-03-2020 06:26 AM
Hi TM.
Try the below script :
Replace the group sysid in the group name or the group name
gs.getUser().getUserByID(current.getValue('caller_id')).isMemberOf(<group name>)
Mark helpful and correct if it helps.
Thanks,
CB
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā07-04-2020 12:54 AM
Hi CB
Thanks, but this is not working. Tried with both group name and sysid