소스 검색

Edit team/org DisplayName now update users.teams.teamDisplayName/users.orgs.orgDisplayName

Ben0it-T 3 년 전
부모
커밋
b876098dc4
3개의 변경된 파일45개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      models/org.js
  2. 2 0
      models/team.js
  3. 40 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);
       }
     },
   });

+ 40 - 0
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();