diff options
Diffstat (limited to 'webapp/actions/user_actions.jsx')
-rw-r--r-- | webapp/actions/user_actions.jsx | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/webapp/actions/user_actions.jsx b/webapp/actions/user_actions.jsx index 8814d5286..b28bc71c0 100644 --- a/webapp/actions/user_actions.jsx +++ b/webapp/actions/user_actions.jsx @@ -15,7 +15,6 @@ import {getDirectChannelName, getUserIdFromChannelName} from 'utils/utils.jsx'; import {Constants, ActionTypes, Preferences} from 'utils/constants.jsx'; import {browserHistory} from 'react-router/es6'; -// Redux actions import store from 'stores/redux_store.jsx'; const dispatch = store.dispatch; const getState = store.getState; @@ -29,7 +28,7 @@ import {Client4} from 'mattermost-redux/client'; import {getClientConfig, getLicenseConfig} from 'mattermost-redux/actions/general'; import {getTeamMembersByIds, getMyTeamMembers, getMyTeamUnreads} from 'mattermost-redux/actions/teams'; import {getChannelAndMyMember} from 'mattermost-redux/actions/channels'; -import {savePreferences, deletePreferences} from 'mattermost-redux/actions/preferences'; +import {savePreferences as savePreferencesRedux, deletePreferences} from 'mattermost-redux/actions/preferences'; import {Preferences as PreferencesRedux} from 'mattermost-redux/constants'; @@ -242,7 +241,7 @@ export function loadNewDMIfNeeded(channelId) { if (pref === false) { PreferenceStore.setPreference(Preferences.CATEGORY_DIRECT_CHANNEL_SHOW, userId, 'true'); const currentUserId = UserStore.getCurrentId(); - savePreferences(currentUserId, [{user_id: currentUserId, category: Preferences.CATEGORY_DIRECT_CHANNEL_SHOW, name: userId, value: 'true'}])(dispatch, getState); + savePreferencesRedux(currentUserId, [{user_id: currentUserId, category: Preferences.CATEGORY_DIRECT_CHANNEL_SHOW, name: userId, value: 'true'}])(dispatch, getState); loadProfilesForDM(); } } @@ -267,7 +266,7 @@ export function loadNewGMIfNeeded(channelId) { if (pref === false) { PreferenceStore.setPreference(Preferences.CATEGORY_GROUP_CHANNEL_SHOW, channelId, 'true'); const currentUserId = UserStore.getCurrentId(); - savePreferences(currentUserId, [{user_id: currentUserId, category: Preferences.CATEGORY_GROUP_CHANNEL_SHOW, name: channelId, value: 'true'}])(dispatch, getState); + savePreferencesRedux(currentUserId, [{user_id: currentUserId, category: Preferences.CATEGORY_GROUP_CHANNEL_SHOW, name: channelId, value: 'true'}])(dispatch, getState); loadProfilesForGM(); } } @@ -328,7 +327,7 @@ export function loadProfilesForGM() { if (newPreferences.length > 0) { const currentUserId = UserStore.getCurrentId(); - savePreferences(currentUserId, newPreferences)(dispatch, getState); + savePreferencesRedux(currentUserId, newPreferences)(dispatch, getState); } } @@ -369,7 +368,7 @@ export function loadProfilesForDM() { if (newPreferences.length > 0) { const currentUserId = UserStore.getCurrentId(); - savePreferences(currentUserId, newPreferences)(dispatch, getState); + savePreferencesRedux(currentUserId, newPreferences)(dispatch, getState); } if (profilesToLoad.length > 0) { @@ -794,6 +793,25 @@ export function loadMyTeamMembers() { ); } +export function savePreferences(prefs, success, error) { + const currentUserId = UserStore.getCurrentId(); + savePreferencesRedux(currentUserId, prefs)(dispatch, getState).then( + (data) => { + if (data && success) { + success(data); + } else if (data == null && error) { + const serverError = getState().requests.preferences.savePreferences.error; + error({id: serverError.server_error_id, ...serverError}); + } + } + ); +} + +export async function savePreference(category, name, value) { + const currentUserId = UserStore.getCurrentId(); + return savePreferencesRedux(currentUserId, [{user_id: currentUserId, category, name, value}])(dispatch, getState); +} + export function autoResetStatus() { return async (doDispatch, doGetState) => { const {currentUserId} = getState().entities.users; @@ -813,3 +831,16 @@ export function autoResetStatus() { return userStatus; }; } + +export function sendPasswordResetEmail(email, success, error) { + UserActions.sendPasswordResetEmail(email)(dispatch, getState).then( + (data) => { + if (data && success) { + success(data); + } else if (data == null && error) { + const serverError = getState().requests.users.passwordReset.error; + error({id: serverError.server_error_id, ...serverError}); + } + } + ); +} |