How to get all incident created by login user group

krishna kumar t
Tera Contributor

Hii Guys,

              My requirement is i have created one module under incident ,in that module i have to display incident created by my group members. 

For Ex:  if logged in user is member of X group.he can able to see the all incident created by the group members in the module created under incident.

1 ACCEPTED SOLUTION

Hi @krishna kumar t,

 

Please find the below script which can fetch if the user is present in more than one group.

var currentUser = gs.getUser();

var groups = currentUser.getMyGroups();

var processedUsers = {};

for (var i = 0; i < groups.size(); i++) {
  var group = groups.get(i);
  var users = new GlideRecord('sys_user_grmember');
  users.addQuery('group', group);
  users.query();
  while (users.next()) {
    var user = new GlideRecord('sys_user');
    if (user.get(users.getValue('user'))) {
     
      if (!processedUsers[user.getUniqueValue()]) {
      
        processedUsers[user.getUniqueValue()] = true;
        
       
        gs.print(user.getValue('name'));
      }
    }
  }
}

  

I hope this helps!

 

Regards,

Hemant 

**Please mark the appropriate response as the correct answer and helpful, This may help other community users to follow the correct solution.**

View solution in original post

6 REPLIES 6

Hemant Goldar
Mega Sage
Mega Sage

Hi @krishna kumar t ,

 

Create a module with the below condition.

HemantGoldar_0-1681134973474.png

 

I hope this helps!

 

Regards,

Hemant 

**Please mark the appropriate response as the correct answer and helpful, This may help other community users to follow the correct solution.**

 

Hii hemant

                 I have to show list of incident based on created by user group.

for Ex:

if A user is present in software group then when he logged IN he can able to see all incident created by the members present in the software group

if A user is present is more than one group he can able to see all the incident created by the all members in that group 

Hii

i have used this script include

1.
var groupMember  = Class.create();
groupMember .prototype = Object.extendsObject(AbstractAjaxProcessor, {
getMember: function(member){
var mbrs = "";
//var gu = GlideUser.getMyGroups;
//gs.info('list of groups'+gu);

var gr = new GlideRecord("sys_user_group");
gr.get("name",member);

var grmember = new GlideRecord('sys_user_grmember');
grmember.addQuery('group', gr.sys_id);
grmember.query();
while (grmember.next()) {
mbrs += grmember.user.user_name.toString();
if(grmember.hasNext())
mbrs += ",";
}

return mbrs;

},
    type: 'groupMember '
});
 
2.In the module i have created in filter option i called this script include
javascript&colon;new getgroupMember().getgetMember("Hardware");
 
3. for one group its working fine. if the user is present in more than one group it cant able to get  that part

Hi @krishna kumar t,

 

Please find the below script which can fetch if the user is present in more than one group.

var currentUser = gs.getUser();

var groups = currentUser.getMyGroups();

var processedUsers = {};

for (var i = 0; i < groups.size(); i++) {
  var group = groups.get(i);
  var users = new GlideRecord('sys_user_grmember');
  users.addQuery('group', group);
  users.query();
  while (users.next()) {
    var user = new GlideRecord('sys_user');
    if (user.get(users.getValue('user'))) {
     
      if (!processedUsers[user.getUniqueValue()]) {
      
        processedUsers[user.getUniqueValue()] = true;
        
       
        gs.print(user.getValue('name'));
      }
    }
  }
}

  

I hope this helps!

 

Regards,

Hemant 

**Please mark the appropriate response as the correct answer and helpful, This may help other community users to follow the correct solution.**