From 64dda83e150af2097f4895f75d2248b55462e1f4 Mon Sep 17 00:00:00 2001 From: "j.goderbauer" <j.goderbauer@adito.de> Date: Wed, 16 Sep 2020 16:07:34 +0200 Subject: [PATCH] MSTeams: Member: change role for internal member --- .../recordcontainers/jdito/onUpdate.js | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/entity/MSTTeam_entity/recordcontainers/jdito/onUpdate.js b/entity/MSTTeam_entity/recordcontainers/jdito/onUpdate.js index 07569b024b..f55e08ec25 100644 --- a/entity/MSTTeam_entity/recordcontainers/jdito/onUpdate.js +++ b/entity/MSTTeam_entity/recordcontainers/jdito/onUpdate.js @@ -29,14 +29,9 @@ insertedTeamMembers.forEach(function (teamMember){ } return; } - var memberAzureId = memberUser[tools.PARAMS][tools.TEAMS_AZUREID]; - var memberUpn = memberUser[tools.PARAMS][tools.TEAMS_AZUREUPN]; - if (!memberAzureId && memberUpn) - memberAzureId = teams.getInternalAzureId(memberUpn); - if (memberAzureId) - { - internalMembers.push(teams.createInternalUserConfig(memberAzureId).setOwner(teamMember["ROLE"] == "owner")); - } + var internalUserConfigToAdd = _getTeamsInternalUserConfig(memberUser, teamMember["ROLE"] == "owner"); + if (internalUserConfigToAdd) + internalMembers.push(internalUserConfigToAdd); }); if (internalMembers.length !== 0) @@ -47,8 +42,13 @@ if (externalMembers.length !== 0) changedTeamMembers.forEach(function (teamMember){ var memberUser = EmployeeUtils.getUserByContactId(teamMember["CONTACT_ID"]); + if (!memberUser) + return null; - //teams.changeRole(teamId, ); + var internalUserConfigToChange = _getTeamsInternalUserConfig(memberUser, teamMember["ROLE"] == "owner"); + if (internalUserConfigToChange) + teams.changeRole(teamId, internalUserConfigToChange); + return null;//prevent designer warning }); @@ -60,4 +60,17 @@ var removeMembers = deletedTeamMembers.map(function (member) }); if (removeMembers.length !== 0) - teams.removeInternalMembers(teamId, removeMembers); \ No newline at end of file + teams.removeInternalMembers(teamId, removeMembers); + +function _getTeamsInternalUserConfig(pUserObject, pAsOwner) +{ + var memberAzureId = pUserObject[tools.PARAMS][tools.TEAMS_AZUREID]; + var memberUpn = pUserObject[tools.PARAMS][tools.TEAMS_AZUREUPN]; + if (!memberAzureId && memberUpn) + memberAzureId = teams.getInternalAzureId(memberUpn); + if (memberAzureId) + { + return teams.createInternalUserConfig(memberAzureId).setOwner(pAsOwner); + } + return null; +} \ No newline at end of file -- GitLab