Name

global.AgileRoleUtils

Description

No description available

Script

var AgileRoleUtils = Class.create();

AgileRoleUtils.addSafeScrumUserRoleToGroup = function(groupId) {
  var safeScrumUserRoleId = '493a0c3a8732030082a34c2c59cb0b57';
  var groupHasRole = AgileRoleUtils.groupHasRole(groupId, safeScrumUserRoleId);
  if (!groupHasRole) {
  	var gr = new GlideRecord('sys_group_has_role');
  	gr.initialize();
  	gr.setValue('group', groupId);
  	gr.setValue('role', safeScrumUserRoleId);
  	gr.setValue('inherits', true);
  	gr.insert();
  }
};

AgileRoleUtils.groupHasRole = function(groupId, roleId) {
  var ga = new GlideAggregate('sys_group_has_role');
  ga.addQuery('group', groupId);
  ga.addQuery('role', roleId);
  ga.addAggregate('COUNT');
  ga.setGroup(false);
  ga.query();
  
  var groupHasRole = false;
  if (ga.next())
  	groupHasRole = parseInt(ga.getAggregate('COUNT')) > 0;
  
  return groupHasRole;
};

AgileRoleUtils.addSafeScrumUserRoleToUser = function(userId) {
  var safeProgramUserRoleId = '23cf00ba8732030082a34c2c59cb0be7';
  var userHasRole = AgileRoleUtils.userHasRole(userId, safeProgramUserRoleId);
  if (!userHasRole) {
  	var gr = new GlideRecord('sys_user_has_role');
  	gr.setValue('user', userId);
  	gr.setValue('role', safeProgramUserRoleId);
  	gr.setValue('inherited', false);
  	gr.insert();
  }
};

AgileRoleUtils.userHasRole = function(userId, roleId) {
  var ga = new GlideAggregate('sys_user_has_role');
  ga.addQuery('user', userId);
  ga.addQuery('role', roleId);
  ga.addAggregate('COUNT');
  ga.setGroup(false);
  ga.query();
  
  var userHasRole = false;
  if (ga.next())
  	userHasRole = parseInt(ga.getAggregate('COUNT')) > 0;
  
  return userHasRole;
};

Sys ID

11097f2a8723030082a34c2c59cb0b06

Offical Documentation

Official Docs: