diff options
author | Corey Hulen <corey@hulen.com> | 2016-04-21 22:37:01 -0700 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2016-04-21 22:37:01 -0700 |
commit | 2e5617c29be69637acd384e85f795a0b343bec8d (patch) | |
tree | 6b8bdae1e664013b97c2dda94985375abda91aa5 /webapp/stores | |
parent | 5c755463ed3a4c74a383fb4460b5be02d8868481 (diff) | |
download | chat-2e5617c29be69637acd384e85f795a0b343bec8d.tar.gz chat-2e5617c29be69637acd384e85f795a0b343bec8d.tar.bz2 chat-2e5617c29be69637acd384e85f795a0b343bec8d.zip |
PLT-2057 User as a first class object (#2648)
* Adding TeamMember to system
* Fixing all unit tests on the backend
* Fixing merge conflicts
* Fixing merge conflict
* Adding javascript unit tests
* Adding TeamMember to system
* Fixing all unit tests on the backend
* Fixing merge conflicts
* Fixing merge conflict
* Adding javascript unit tests
* Adding client side unit test
* Cleaning up the clint side tests
* Fixing msg
* Adding more client side unit tests
* Adding more using tests
* Adding last bit of client side unit tests and adding make cmd
* Fixing bad merge
* Fixing libraries
* Updating to new client side API
* Fixing borken unit test
* Fixing unit tests
* ugg...trying to beat gofmt
* ugg...trying to beat gofmt
* Cleaning up remainder of the server side routes
* Adding inital load api
* Increased coverage of webhook unit tests (#2660)
* Adding loading ... to root html
* Fixing bad merge
* Removing explicit content type so superagent will guess corectly (#2685)
* Fixing merge and unit tests
* Adding create team UI
* Fixing signup flows
* Adding LDAP unit tests and enterprise unit test helper (#2702)
* Add the ability to reset MFA from the commandline (#2706)
* Fixing compliance unit tests
* Fixing client side tests
* Adding open server to system console
* Moving websocket connection
* Fixing unit test
* Fixing unit tests
* Fixing unit tests
* Adding nickname and more LDAP unit tests (#2717)
* Adding join open teams
* Cleaning up all TODOs in the code
* Fixing web sockets
* Removing unused webockets file
* PLT-2533 Add the ability to reset a user's MFA from the system console (#2715)
* Add the ability to reset a user's MFA from the system console
* Add client side unit test for adminResetMfa
* Reorganizing authentication to fix LDAP error message (#2723)
* Fixing failing unit test
* Initial upgrade db code
* Adding upgrade script
* Fixing upgrade script after running on core
* Update OAuth and Claim routes to work with user model changes (#2739)
* Fixing perminant deletion. Adding ability to delete all user and the entire database (#2740)
* Fixing team invite ldap login call (#2741)
* Fixing bluebar and some img stuff
* Fix all the different file upload web utils (#2743)
* Fixing invalid session redirect (#2744)
* Redirect on bad channel name (#2746)
* Fixing a bunch of issue and removing dead code
* Patch to fix error message on leave channel (#2747)
* Setting EnableOpenServer to false by default
* Fixing config
* Fixing upgrade
* Fixing reported bugs
* Bug fixes for PLT-2057
* PLT-2563 Redo password recovery to use a database table (#2745)
* Redo password recovery to use a database table
* Update reset password audits
* Split out admin and user reset password APIs to be separate
* Delete password recovery when user is permanently deleted
* Consolidate password resetting into a single function
* Removed private channels as an option for outgoing webhooks (#2752)
* PLT-2577/PLT-2552 Fixes for backstage (#2753)
* Added URL to incoming webhook list
* Fixed client functions for adding/removing integrations
* Disallowed slash commands without trigger words
* Fixed clientside handling of errors on AddCommand page
* Minor auth cleanup (#2758)
* Changed EditPostModal to just close if you save without making any changes (#2759)
* Renamed client -> Client in async_client.jsx and fixed eslint warnings (#2756)
* Fixed url in channel info modal (#2755)
* Fixing reported issues
* Moving to version 3 of the apis
* Fixing command unit tests (#2760)
* Adding team admins
* Fixing DM issue
* Fixing eslint error
* Properly set EditPostModal's originalText state in all cases (#2762)
* Update client config check to assume features is defined if server is licensed (#2772)
* Fixing url link
* Fixing issue with websocket crashing when sending messages to different teams
Diffstat (limited to 'webapp/stores')
-rw-r--r-- | webapp/stores/browser_store.jsx | 12 | ||||
-rw-r--r-- | webapp/stores/error_store.jsx | 11 | ||||
-rw-r--r-- | webapp/stores/preference_store.jsx | 2 | ||||
-rw-r--r-- | webapp/stores/team_store.jsx | 47 | ||||
-rw-r--r-- | webapp/stores/user_store.jsx | 33 |
5 files changed, 91 insertions, 14 deletions
diff --git a/webapp/stores/browser_store.jsx b/webapp/stores/browser_store.jsx index d605aac80..2dae78f46 100644 --- a/webapp/stores/browser_store.jsx +++ b/webapp/stores/browser_store.jsx @@ -35,18 +35,6 @@ class BrowserStoreClass { this.isSignallingLogin = this.isSignallingLogin.bind(this); } - checkVersion() { - var currentVersion = this.getGlobalItem('storage_version'); - if (currentVersion !== global.window.mm_config.Version) { - this.clearAll(); - try { - this.setGlobalItem('storage_version', global.window.mm_config.Version); - } catch (e) { - // Do nothing - } - } - } - setItem(name, value) { this.setGlobalItem(getPrefix() + name, value); } diff --git a/webapp/stores/error_store.jsx b/webapp/stores/error_store.jsx index 715029185..3e043dd78 100644 --- a/webapp/stores/error_store.jsx +++ b/webapp/stores/error_store.jsx @@ -20,6 +20,12 @@ class ErrorStoreClass extends EventEmitter { this.removeChangeListener = this.removeChangeListener.bind(this); this.getLastError = this.getLastError.bind(this); this.storeLastError = this.storeLastError.bind(this); + this.getIgnoreEmailPreview = this.getIgnoreEmailPreview.bind(this); + this.ignore_email_preview = false; + } + + getIgnoreEmailPreview() { + return this.ignore_email_preview; } emitChange() { @@ -57,6 +63,11 @@ class ErrorStoreClass extends EventEmitter { } clearLastError() { + var lastError = this.getLastError(); + if (lastError && lastError.email_preview) { + this.ignore_email_preview = true; + } + BrowserStore.removeGlobalItem('last_error'); BrowserStore.removeGlobalItem('last_error_conn'); this.emitChange(); diff --git a/webapp/stores/preference_store.jsx b/webapp/stores/preference_store.jsx index fcfd1c426..1a461f39f 100644 --- a/webapp/stores/preference_store.jsx +++ b/webapp/stores/preference_store.jsx @@ -112,4 +112,4 @@ class PreferenceStoreClass extends EventEmitter { const PreferenceStore = new PreferenceStoreClass(); export default PreferenceStore; -window.PreferenceStore = PreferenceStore; +global.window.PreferenceStore = PreferenceStore; diff --git a/webapp/stores/team_store.jsx b/webapp/stores/team_store.jsx index e1fc9167d..356df7b07 100644 --- a/webapp/stores/team_store.jsx +++ b/webapp/stores/team_store.jsx @@ -33,7 +33,14 @@ class TeamStoreClass extends EventEmitter { this.getCurrentInviteLink = this.getCurrentInviteLink.bind(this); this.saveTeam = this.saveTeam.bind(this); + this.clear(); + } + + clear() { this.teams = {}; + this.team_members = []; + this.members_for_team = []; + this.teamListings = {}; this.currentTeamId = ''; } @@ -119,6 +126,34 @@ class TeamStoreClass extends EventEmitter { this.saveTeam(team); this.currentTeamId = team.id; } + + saveTeamMembers(members) { + this.team_members = members; + } + + appendTeamMember(member) { + this.team_members.push(member); + } + + getTeamMembers() { + return this.team_members; + } + + saveMembersForTeam(members) { + this.members_for_team = members; + } + + getMembersForTeam() { + return this.members_for_team; + } + + saveTeamListings(teams) { + this.teamListings = teams; + } + + getTeamListings() { + return this.teamListings; + } } var TeamStore = new TeamStoreClass(); @@ -135,6 +170,18 @@ TeamStore.dispatchToken = AppDispatcher.register((payload) => { TeamStore.saveTeams(action.teams); TeamStore.emitChange(); break; + case ActionTypes.RECEIVED_TEAM_MEMBERS: + TeamStore.saveTeamMembers(action.team_members); + TeamStore.emitChange(); + break; + case ActionTypes.RECEIVED_ALL_TEAM_LISTINGS: + TeamStore.saveTeamListings(action.teams); + TeamStore.emitChange(); + break; + case ActionTypes.RECEIVED_MEMBERS_FOR_TEAM: + TeamStore.saveMembersForTeam(action.team_members); + TeamStore.emitChange(); + break; default: } }); diff --git a/webapp/stores/user_store.jsx b/webapp/stores/user_store.jsx index 4213e6e8c..2c6bfade3 100644 --- a/webapp/stores/user_store.jsx +++ b/webapp/stores/user_store.jsx @@ -16,11 +16,17 @@ const CHANGE_EVENT_STATUSES = 'change_statuses'; class UserStoreClass extends EventEmitter { constructor() { super(); + this.clear(); + } + + clear() { this.profiles = {}; + this.direct_profiles = {}; this.statuses = {}; this.sessions = {}; this.audits = {}; this.currentUserId = ''; + this.noAccounts = false; } emitChange(userId) { @@ -116,7 +122,12 @@ class UserStoreClass extends EventEmitter { return this.getCurrentUser(); } - return this.getProfiles()[userId]; + const user = this.getProfiles()[userId]; + if (user) { + return user; + } + + return this.getDirectProfiles()[userId]; } getProfileByUsername(username) { @@ -137,6 +148,14 @@ class UserStoreClass extends EventEmitter { return profileUsernameMap; } + getDirectProfiles() { + return this.direct_profiles; + } + + saveDirectProfiles(profiles) { + this.direct_profiles = profiles; + } + getProfiles() { return this.profiles; } @@ -259,6 +278,14 @@ class UserStoreClass extends EventEmitter { getStatus(id) { return this.getStatuses()[id]; } + + getNoAccounts() { + return this.noAccounts; + } + + setNoAccounts(noAccounts) { + this.noAccounts = noAccounts; + } } var UserStore = new UserStoreClass(); @@ -272,6 +299,10 @@ UserStore.dispatchToken = AppDispatcher.register((payload) => { UserStore.saveProfiles(action.profiles); UserStore.emitChange(); break; + case ActionTypes.RECEIVED_DIRECT_PROFILES: + UserStore.saveDirectProfiles(action.profiles); + UserStore.emitChange(); + break; case ActionTypes.RECEIVED_ME: UserStore.setCurrentUser(action.me); UserStore.emitChange(action.me.id); |