- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2017 07:08 PM
Hi
I want to send out an email to notification all the members in the group when the group's manager is deactived.
I use client script to do the following action when the user record of the group manager is set to inactive.
1. set the group manager field to empty
2. delete the manager from the group member list
I want to greate an email, but which table should I use? Since I don't know how to set the value of who'll receive this email.
And could you also give some advice for create the event and business rule?
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2017 10:41 PM
Hi All
To solve this requirement, I add the group members to CC list and write the code into Email script.
Hope this could help you if you have the same requirement with me.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2017 10:23 PM
Something like this should helps on After update BR on sys_user_group table with condition when manager is empty.
var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group', current.sys_id);
gr.query();
while(gr.next())
gs.eventQueue('Event Name', current, gr.user, gr.user.name);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2017 10:35 PM
Here's what I'm done on my instance.
1. client script
function onSubmit() {
var userName = g_form.getValue('user_name');
//var tempManager;
if(isDeactived()){
//tempManager = setTempManager();
setTempManager();
}
}
function isDeactived(){
var activeFlag = g_form.getValue('active');
if(activeFlag=="false"){
alert('User has been deactived');
return true;
}
return false;
}
function setTempManager(){
var userName = g_form.getValue('user_name');
var user_sys_id;
var groupName;
var manager_Temp;
var group_sys_id;
var count =0;
// get deactived user sys_id
var usert = new GlideRecord('sys_user');
usert.addQuery('user_name',userName);
usert.query();
while(usert.next()){
user_sys_id = usert.getValue('sys_id');
}
var groupTbl = new GlideRecord('sys_user_group');
groupTbl.addQuery('manager',user_sys_id);
groupTbl.query();
while(groupTbl.next()){
count++;
groupName = groupTbl.getValue('name');
group_sys_id = groupTbl.getValue('sys_id');
var grmember = new GlideRecord('sys_user_grmember');
grmember.addQuery('group',group_sys_id);
grmember.addQuery('user',user_sys_id);
grmember.query();
while(grmember.next()){
grmember.deleteRecord();
}
// var grmemberM = new GlideRecord('sys_user_grmember');
//grmemberM.addQuery('group',group_sys_id);
//grmemberM.query();
// while(grmemberM.next()){
//manager_Temp=grmemberM.getValue('user');
//break;
//}
groupTbl.setValue('manager','');
groupTbl.update();
}
//return manager_Temp;
}
2. business rule:
3. event
4. email
When I deactive the user, it seems that business rule doesn't work.No email send out. Only client script worked.
Is there anything wrong?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2017 10:41 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2017 10:46 PM
tried it. But still can't work.
Don't know why

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-14-2017 08:47 PM
Hi Wei,
have you checked the group there is an option to send an email to all group members. if you will checked then it will send it to all group members?