diff --git a/models/org.js b/models/org.js index bba6a1e92..14c8b0440 100644 --- a/models/org.js +++ b/models/org.js @@ -149,8 +149,9 @@ if (Meteor.isServer) { check(org, Object); check(orgDisplayName, String); Org.update(org, { - $set: { orgDisplayName: orgDisplayNameorgShortName }, + $set: { orgDisplayName: orgDisplayName }, }); + Meteor.call('setUsersOrgsOrgDisplayName', org._id, orgDisplayName); } }, @@ -208,6 +209,7 @@ if (Meteor.isServer) { orgIsActive: orgIsActive, }, }); + Meteor.call('setUsersOrgsOrgDisplayName', org._id, orgDisplayName); } }, }); diff --git a/models/team.js b/models/team.js index 4ebfed3e9..18ce8574c 100644 --- a/models/team.js +++ b/models/team.js @@ -149,6 +149,7 @@ if (Meteor.isServer) { Team.update(team, { $set: { teamDisplayName: teamDisplayName }, }); + Meteor.call('setUsersTeamsTeamDisplayName', team._id, teamDisplayName); } }, @@ -206,6 +207,7 @@ if (Meteor.isServer) { teamIsActive: teamIsActive, }, }); + Meteor.call('setUsersTeamsTeamDisplayName', team._id, teamDisplayName); } }, }); diff --git a/models/users.js b/models/users.js index 0592b61fc..98dfe439f 100644 --- a/models/users.js +++ b/models/users.js @@ -1299,6 +1299,46 @@ if (Meteor.isServer) { }); return isImpersonated; }, + setUsersTeamsTeamDisplayName(teamId, teamDisplayName) { + check(teamId, String); + check(teamDisplayName, String); + Users.find({ + teams: { + $elemMatch: {teamId: teamId} + } + }).forEach(user => { + Users.update({ + _id: user._id, + teams: { + $elemMatch: {teamId: teamId} + } + }, { + $set: { + 'teams.$.teamDisplayName': teamDisplayName + } + }); + }); + }, + setUsersOrgsOrgDisplayName(orgId, orgDisplayName) { + check(orgId, String); + check(orgDisplayName, String); + Users.find({ + orgs: { + $elemMatch: {orgId: orgId} + } + }).forEach(user => { + Users.update({ + _id: user._id, + orgs: { + $elemMatch: {orgId: orgId} + } + }, { + $set: { + 'orgs.$.orgDisplayName': orgDisplayName + } + }); + }); + }, }); Accounts.onCreateUser((options, user) => { const userCount = Users.find().count();