How do I query sys_user table to get current logged in User's primary group
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 03:12 AM
I want to get a current logged in user's primary assignment group. I have tried a following Script
var userName = gs.getUserID();
var gr = new GlideRecord("sys_user");
gr.addQuery('user_name', userName);
gr.query();
if (gr.next()) {
var grp = gr.primary_group;
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 03:22 AM
Hi @Sid_Takali ,
Quick Point : User can be part of multiple group
checkGroup: function() {
var currentUser = gs.getUser();
if (currentUser.isMemberOf("Group Name")) {
var gr = new GlideRecord('sys_user');
gr.addActiveQuery('active=true'); // Filter to return active records.
gr.query();
while (gr.next()) {
return gr.group.name; // Do you have Field called Group in User Table if yes return
return gr.group+"";
}
}
}
Client Script : Onload:
var ga = new GlideAjax('Display_Organization_fALU_fNokia');
ga.addParam('sysparm_name', 'checkGroup');
ga.getXML(groupName);
function groupName(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert(answer) - let me know what is in the alert
g_form.setValue('organization',answer);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 03:28 AM
@Sid_Takali script will change based on where you write it.
I hope you are writing this in ServerSide
mistake in your script is getUserID will return sys_id.
so gr.addQuery('sys_id',userName);
Thanks,
Bharath
Bharath Chintala