Bladeren bron

Merge pull request #4257 from Ben0it-T/update-users.teams.teamDisplayName-users.orgs.orgDisplayName

Edit team/org now update users.teams.teamDisplayName / users.orgs.orgDisplayName
Lauri Ojansivu 3 jaren geleden
bovenliggende
commit
d535469163
3 gewijzigde bestanden met toevoegingen van 49 en 1 verwijderingen
  1. 3 1
      models/org.js
  2. 2 0
      models/team.js
  3. 44 0
      models/users.js

+ 3 - 1
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);
       }
     },
   });

+ 2 - 0
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);
       }
     },
   });

+ 44 - 0
models/users.js

@@ -1299,6 +1299,50 @@ if (Meteor.isServer) {
       });
       return isImpersonated;
     },
+    setUsersTeamsTeamDisplayName(teamId, teamDisplayName) {
+      check(teamId, String);
+      check(teamDisplayName, String);
+      if (Meteor.user() && Meteor.user().isAdmin) {
+        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);
+      if (Meteor.user() && Meteor.user().isAdmin) {
+        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();