Name
sn_hr_core.HrRoleManagement
Description
No description available
Script
var HrRoleManagement = Class.create();
HrRoleManagement.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
addRemoveRolesForContact: function(newRoles, userSysId) {
var roles = new hr_Utils();
var isHrAdmin = roles.checkUserHasRole('sn_hr_core.admin');
var isLEAdmin = roles.checkUserHasRole('sn_hr_le.admin');
if (!isHrAdmin && !isLEAdmin)
return;
newRoles = newRoles || this.getParameter("sysparm_add_roles");
var answer = [];
//remove roles that were not in slushbucket
var gr = new GlideRecordSecure('sys_user_role');
gr.addQuery('name', 'STARTSWITH', "sn_hr_");
gr.addQuery('name', 'NOT IN', newRoles);
gr.query();
while (gr.next()) {
answer.push(gr.getValue('name'));
}
userSysId = userSysId || this.getParameter("sysparm_contact_id");
new global.HRSecurityUtilsAjax().removeUserRoles(userSysId, answer.join(','));
var rolesToAdd = [];
//add roles that were in slushbucket
if(!gs.nil(newRoles)) {
rolesToAdd = newRoles.split(',');
for(var k=0; k<rolesToAdd.length; k++)
new hr_Utils().addUserRole(rolesToAdd[k], userSysId);
}
},
type: 'HrRoleManagement'
});
Sys ID
727660915b32120088236ede91f91a9f