- 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-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-04-2020 09:43 AM
Nice work. I was going to suggest creating your own script include and calling it from the condition field.
FWIW, you don't need 'javascript:' in a condition field. It already knows it's JavaScript (e.g. current.active, for example, not javascript:current.active)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-04-2020 10:27 AM
Thanks
Earlier I tested without " Javascript: " and it was not working so I went with "Javascript:". I Just tested again without "javascript:" after reading your feedback and its working fine 🙂
Thanks again for the valuable information!
Muhammad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-05-2020 09:58 PM
Thanks Sharjeel
I was also going in the script include direction, was trying to find any OOB script include would help.
Thanks again
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-01-2022 10:37 PM
Hi Muhammad ,
Where are we giving the desired group's name?