File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed
Server-Side Components/Scheduled Jobs/Deactivate Memberless Group Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments