summaryrefslogtreecommitdiffstats
path: root/web/react/stores/user_store.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/react/stores/user_store.jsx')
-rw-r--r--web/react/stores/user_store.jsx33
1 files changed, 18 insertions, 15 deletions
diff --git a/web/react/stores/user_store.jsx b/web/react/stores/user_store.jsx
index ce80c5ec9..aedb3dc09 100644
--- a/web/react/stores/user_store.jsx
+++ b/web/react/stores/user_store.jsx
@@ -204,12 +204,13 @@ class UserStoreClass extends EventEmitter {
}
getActiveOnlyProfiles() {
- var active = {};
- var current = this.getProfiles();
+ const active = {};
+ const profiles = this.getProfiles();
+ const currentId = this.getCurrentId();
- for (var key in current) {
- if (current[key].delete_at === 0) {
- active[key] = current[key];
+ for (var key in profiles) {
+ if (profiles[key].delete_at === 0 && profiles[key].id !== currentId) {
+ active[key] = profiles[key];
}
}
@@ -219,9 +220,10 @@ class UserStoreClass extends EventEmitter {
getActiveOnlyProfileList() {
const profileMap = this.getActiveOnlyProfiles();
const profiles = [];
+ const currentId = this.getCurrentId();
for (const id in profileMap) {
- if (profileMap.hasOwnProperty(id)) {
+ if (profileMap.hasOwnProperty(id) && id !== currentId) {
profiles.push(profileMap[id]);
}
}
@@ -235,6 +237,14 @@ class UserStoreClass extends EventEmitter {
BrowserStore.setItem('profiles', ps);
}
+ saveProfiles(profiles) {
+ const currentId = this.getCurrentId();
+ if (currentId in profiles) {
+ delete profiles[currentId];
+ }
+ BrowserStore.setItem('profiles', profiles);
+ }
+
setSessions(sessions) {
BrowserStore.setItem('sessions', sessions);
}
@@ -320,15 +330,8 @@ UserStore.dispatchToken = AppDispatcher.register((payload) => {
switch (action.type) {
case ActionTypes.RECIEVED_PROFILES:
- for (var id in action.profiles) {
- // profiles can have incomplete data, so don't overwrite current user
- if (id === UserStore.getCurrentId()) {
- continue;
- }
- var profile = action.profiles[id];
- UserStore.saveProfile(profile);
- UserStore.emitChange(profile.id);
- }
+ UserStore.saveProfiles(action.profiles);
+ UserStore.emitChange();
break;
case ActionTypes.RECIEVED_ME:
UserStore.setCurrentUser(action.me);