how to check current logged in user part of any group in client script

Venkat141
Tera Contributor

how to check current logged in user part of any group in client side

 

@Ankur Bawiskar 

@Peter Bodelier 

@AnveshKumar M 

@Vishal Birajdar 

@Sandeep Rajput

@Atulya - LNG 

@Saurav11 

1 ACCEPTED SOLUTION

Harsh_Deep
Giga Sage
Giga Sage

Hello @Venkat141 

 

1. Onload Client Script:

function onLoad() {
    var sysid = g_user.userID; //get current user sysid
    var ga = new GlideAjax('global.CheckuserGroup'); //script include name
    ga.addParam('sysparm_name', 'getgroup'); //function name
    ga.addParam('sysparm_name_sysid', sysid); //passing sysid to server
    ga.getXMLAnswer(getGroup);
    function getGroup(response) {
        if (response == 'true') {
            g_form.addInfoMessage('Part of group');
        } else {
            g_form.addInfoMessage('Not Part of group');
        }
    }
}

 

Harsh_Deep_1-1698939863224.png

 

 

2. Script Include:

var CheckuserGroup = Class.create();
CheckuserGroup.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getgroup: function() {
        var usersysid = this.getParameter('sysparm_name_sysid');//getting usersysid from client
        var mem = new GlideRecord("sys_user_grmember");
        mem.addQuery('user', usersysid); //filtering current user
        mem.addQuery('group', '8a4dde73c6112278017a6a4baf547aa7'); //add group sysid
        mem.query();
        if (mem.next()) {
            return true;
        } else {
            return false;
        }
    },
    type: 'CheckuserGroup'
});

 

Harsh_Deep_0-1698939805387.png

 

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.

View solution in original post

2 REPLIES 2

Harsh_Deep
Giga Sage
Giga Sage

Hello @Venkat141 

 

1. Onload Client Script:

function onLoad() {
    var sysid = g_user.userID; //get current user sysid
    var ga = new GlideAjax('global.CheckuserGroup'); //script include name
    ga.addParam('sysparm_name', 'getgroup'); //function name
    ga.addParam('sysparm_name_sysid', sysid); //passing sysid to server
    ga.getXMLAnswer(getGroup);
    function getGroup(response) {
        if (response == 'true') {
            g_form.addInfoMessage('Part of group');
        } else {
            g_form.addInfoMessage('Not Part of group');
        }
    }
}

 

Harsh_Deep_1-1698939863224.png

 

 

2. Script Include:

var CheckuserGroup = Class.create();
CheckuserGroup.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getgroup: function() {
        var usersysid = this.getParameter('sysparm_name_sysid');//getting usersysid from client
        var mem = new GlideRecord("sys_user_grmember");
        mem.addQuery('user', usersysid); //filtering current user
        mem.addQuery('group', '8a4dde73c6112278017a6a4baf547aa7'); //add group sysid
        mem.query();
        if (mem.next()) {
            return true;
        } else {
            return false;
        }
    },
    type: 'CheckuserGroup'
});

 

Harsh_Deep_0-1698939805387.png

 

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.

Vishal Birajdar
Giga Sage

Hi @Venkat141 

 

1. Create Client callable script include 

 

checkGroupMembership : function(){
             
	var result = gs.getUser().isMemberOf('group_name');

        return result;   //will be true/false

	},

 

2. Client script

var ga = new GlideAjax('script_include');
ga.addParam('sysparm_name', 'checkGroupMembership'); //function name
ga.getXMLAnswer(callBack);

function callBack(answer){

if(answer == true) {
//is member of group
}else {
//not an member
}

}

 

 

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates