Skip to content

Commit c9f943f

Browse files
Create deactivate group.js
adding scripts with comments
1 parent ebf05ab commit c9f943f

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
var groupGr = new GlideRecord('sys_user_group');
2+
groupGr.addActiveQuery();
3+
groupGr.query();
4+
while (groupGr.next()) {
5+
var groupSysId = groupGr.sys_id.toString();
6+
// Query Group member table
7+
var memberGr = new GlideRecord('sys_user_grmember');
8+
memberGr.addQuery('group', groupSysId);
9+
memberGr.query();
10+
if (memberGr.hasNext()) {
11+
// If group has member but date is also populated that means member has joined recently. Clear the field value.
12+
if (!gs.nil(groupGr.u_memberless_date)) {
13+
groupGr.u_memberless_date = '';
14+
groupGr.update();
15+
}
16+
} else {
17+
var today = new GlideDate();
18+
if (gs.nil(groupGr.u_memberless_date)) {
19+
// If group doesn't have member populate the fields with today's date if doesn't have a value.
20+
groupGr.u_memberless_date = today;
21+
groupGr.update();
22+
} else {
23+
// If the field value is present compare the dates and deactivate group accordingly.
24+
var fieldDate = groupGr.getValue('u_memberless_date');
25+
today.addMonths(-6);
26+
if (fieldDate < today) {
27+
groupGr.active = false;
28+
groupGr.description = "Group has been deactivated for not having members in last 6 months.";
29+
groupGr.update();
30+
}
31+
}
32+
}
33+
}

0 commit comments

Comments
 (0)