summaryrefslogtreecommitdiffstats
path: root/webapp/stores
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2016-10-24 08:50:12 -0400
committerGitHub <noreply@github.com>2016-10-24 08:50:12 -0400
commite6d26bee51067d65480925593d1610404ff9d5e3 (patch)
treede88b96d8345e9c1e411b4e299ab202388739be6 /webapp/stores
parent486d12e1c3a5d6658ca0ebd8fd28bec9f6753ce9 (diff)
downloadchat-e6d26bee51067d65480925593d1610404ff9d5e3.tar.gz
chat-e6d26bee51067d65480925593d1610404ff9d5e3.tar.bz2
chat-e6d26bee51067d65480925593d1610404ff9d5e3.zip
Fixes for the team user lists in the system console (#4294)
Diffstat (limited to 'webapp/stores')
-rw-r--r--webapp/stores/team_store.jsx2
-rw-r--r--webapp/stores/user_store.jsx21
2 files changed, 19 insertions, 4 deletions
diff --git a/webapp/stores/team_store.jsx b/webapp/stores/team_store.jsx
index 3a4ae73b9..8a3457a4d 100644
--- a/webapp/stores/team_store.jsx
+++ b/webapp/stores/team_store.jsx
@@ -205,7 +205,7 @@ class TeamStoreClass extends EventEmitter {
}
getMembersInTeam(teamId = this.getCurrentId()) {
- return this.members_in_team[teamId] || {};
+ return Object.assign({}, this.members_in_team[teamId]) || {};
}
hasActiveMemberInTeam(teamId = this.getCurrentId(), userId) {
diff --git a/webapp/stores/user_store.jsx b/webapp/stores/user_store.jsx
index d93848670..9ac8540f9 100644
--- a/webapp/stores/user_store.jsx
+++ b/webapp/stores/user_store.jsx
@@ -169,11 +169,12 @@ class UserStoreClass extends EventEmitter {
// System-Wide Profiles
saveProfiles(profiles) {
+ const newProfiles = Object.assign({}, profiles);
const currentId = this.getCurrentId();
- if (profiles[currentId]) {
- Reflect.deleteProperty(profiles, currentId);
+ if (newProfiles[currentId]) {
+ Reflect.deleteProperty(newProfiles, currentId);
}
- this.profiles = Object.assign({}, this.profiles, profiles);
+ this.profiles = Object.assign({}, this.profiles, newProfiles);
}
getProfiles() {
@@ -331,6 +332,20 @@ class UserStoreClass extends EventEmitter {
return profiles;
}
+ removeProfileFromTeam(teamId, userId) {
+ const userIds = this.profiles_in_team[teamId];
+ if (!userIds) {
+ return;
+ }
+
+ const index = userIds.indexOf(userId);
+ if (index === -1) {
+ return;
+ }
+
+ userIds.splice(index, 1);
+ }
+
// Channel-Wide Profiles
saveProfilesInChannel(channelId = ChannelStore.getCurrentId(), profiles) {