summaryrefslogtreecommitdiffstats
path: root/webapp/actions/user_actions.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/actions/user_actions.jsx')
-rw-r--r--webapp/actions/user_actions.jsx43
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});
+ }
+ }
+ );
+}