- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-08-2017 02:31 AM
I wish to add an user to multiple groups via workflow, and I have been able to implement that, however if I select a group where the user is already a part of there the group is being inserted again for the 2nd time, and it continues, if I select the group afterwards as well. I wish to avoid duplicate entries in the sys_user_grmember table.
Following is the script that I am using to add the groups to the user. I'm using a run script for the same.
var arr = current.variables.group.toString();
var arr1 = arr.split(',');
var user = current.variables.user;
var i=0;
for(i=0;i<arr1.length;i++)
{
var members = new GlideRecord('sys_user_grmember');
members.initialize();
members.group = arr1[i];
members.user = user;
members.insert();
}
Thanks in advance.
Regards,
Rana
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-08-2017 02:38 AM
var arr = current.variables.group.toString();
var arr1 = arr.split(',');
var user = current.variables.user;
var i=0;
for(i=0;i<arr1.length;i++)
{
var count = 0;
var gr3 = new GlideRecord("sys_user_grmember");
gr3.addQuery("group",arr[i]);
gr3.addQuery("user",user);
gr3.query();
count = gr3.getRowCount();
if(count == 0){
var members = new GlideRecord('sys_user_grmember');
members.initialize();
members.group = arr1[i];
members.user = user;
members.insert();
}
}
Highligted one is to check if user already exist in that group
Hope this helps you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-08-2017 02:38 AM
var arr = current.variables.group.toString();
var arr1 = arr.split(',');
var user = current.variables.user;
var i=0;
for(i=0;i<arr1.length;i++)
{
var count = 0;
var gr3 = new GlideRecord("sys_user_grmember");
gr3.addQuery("group",arr[i]);
gr3.addQuery("user",user);
gr3.query();
count = gr3.getRowCount();
if(count == 0){
var members = new GlideRecord('sys_user_grmember');
members.initialize();
members.group = arr1[i];
members.user = user;
members.insert();
}
}
Highligted one is to check if user already exist in that group
Hope this helps you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-09-2017 01:22 AM
Hi Sneha,
Your modification worked fine. The issue got fixed.
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-08-2017 02:39 AM
HI,
Use below script
var arr = current.variables.group.toString();
var arr1 = arr.split(',');
var user = current.variables.user;
var i=0;
for(i=0;i<arr1.length;i++)
{
var grpmem=new GlideRecord('sys_user_grmember');
grpmem.addQuery('user', user);
grpmem.addQuery('group',arr1[i]);
grpmem.query();
if(grpmem.getRowCount()<1){
var members = new GlideRecord('sys_user_grmember');
members.initialize();
members.group = arr1[i];
members.user = user;
members.insert();
}
}
thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-09-2017 01:23 AM
Hi Gobinathan,
Thanks for your reply.