public void createUser(UserId _userId,Name _userName)
{
UserInfo userInfo;
SecurityUserRole userRole,userRoleToSave;
SecurityRole securityRole;
// Step 1: Create new User Info record
ttsBegin;
userInfo.id = _userId;
userInfo.Name = _userName;
userInfo.networkAlias = Xine_UserAcessTable.Email;
userInfo.networkDomain = Xine_UserAcessTable.NetworkDomain;
userInfo.ObjectId = Xine_UserAcessTable.TelemetryId;
userInfo.enable = Xine_UserAcessTable.Enabled;
userInfo.insert(); // Save the user info record
info(strFmt('User created: %1', userInfo.id));
select securityRole
where securityRole.Name == "System user";
select forupdate userRoleToSave
where userRoleToSave.User == _userId &&
userRoleToSave.SecurityRole == securityRole.recId;
if ( userRoleToSave.recId)
{
userRoleToSave.AssignmentMode = RoleAssignmentMode::Manual;
userRoleToSave.AssignmentStatus = RoleAssignmentStatus::Enabled;
userRoleToSave.update();
}
else
{
userRole.User = _userId;
userRole.SecurityRole = securityRole.recId; // Set the role of the user (System User role is used here as an example)
userRole.AssignmentMode = RoleAssignmentMode::Manual;
userRole.AssignmentStatus = RoleAssignmentStatus::Enabled;
userRole.insert(); // Save user role
info(strFmt('Role assigned to user: %1', userRole.SecurityRole));
}
// Commit the transaction
ttsCommit;
}
No comments:
Post a Comment
Give me the commetns and solutions