Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A safe list to cover just the twelve groups, as of Jan 2013; this should be rechecked each semester as groups get renamed:
CTS STC B
CTS STC CalhounGrad
CTS STC DavenportOld Campus
CTS STC Ezra StilesS
CTS STC GradT

The next ones don't get any easier using the startsWith script because either there are no other common letter groups, or we cannot use a single letter to ease our typing because we will stomp other groups with the common beginning letter
CTS STC Jonathon EdwardsCalhoun
CTS STC MorseDavenport
CTS STC Old CampusEzra Stiles
CTS STC PiersonJonathon Edwards
CTS STC SMorse
CTS STC TPierson

Code Block
var groupStartsWith = 'CTS STC Old Campus';

var gr0 = new GlideRecord('sys_user_group');
gr0.addQuery('name','STARTSWITH',groupStartsWith);
gr0.query();
while ( gr0.next() ) {
 gs.log("group name: "+ gr0.name);

 var groupName=gr0.name;
 // set groupName to the group where you want to synchronize team leads to be the same
 // as the set of all members of the group
 // this is especially useful for CTS STC groups
 var gr1 = new GlideRecord('sys_user_group');
 gr1.addQuery('name',groupName);
 gr1.query();
 while ( gr1.next() ) {
  gs.log("group name: "+ gr1.name + " and group full name: " + gr1.u_full_name + " and sys_id: " +  gr1.sys_id);
  gs.log("ORIGINAL group u_team_leads: " + gr1.u_team_leads);

  var leadsString='';
  var gr2 = new GlideRecord('sys_user_grmember');
  gr2.addQuery('group',gr1.sys_id);
  gr2.query();
  while ( gr2.next() ) {
 //  gs.log("user sys_id is: " + gr2.user);
   if ( leadsString.length > 0 ) {
    leadsString+=',';
   }
   leadsString+=gr2.user;
  }
  gs.log("PROPOSED group leads: " + leadsString);
 
  var gr3 = new GlideRecord('sys_user_group');
  gr3.addQuery('name',groupName);
  gr3.query();
  while (gr3.next()){
   gr3.u_team_leads = leadsString;
   gr3.update();
  }

  var gr4 = new GlideRecord('sys_user_group');
  gr4.addQuery('name',groupName);
  gr4.query();
  while (gr4.next()){
   gs.log("UPDATED group u_team_leads: " + gr4.u_team_leads);
  }
 }
}