diff --git a/client/modules/User/actions.js b/client/modules/User/actions.js index ec348ae73..db367d388 100644 --- a/client/modules/User/actions.js +++ b/client/modules/User/actions.js @@ -276,7 +276,13 @@ export function submitSettings(formValues) { export function updateSettings(formValues) { return (dispatch) => - new Promise((resolve) => + new Promise((resolve) => { + if (!formValues.currentPassword && formValues.newPassword) { + dispatch(showToast(5500)); + dispatch(setToastText('Toast.EmptyCurrentPass')); + resolve(); + return; + } submitSettings(formValues) .then((response) => { dispatch(updateSettingsSuccess(response.data)); @@ -284,8 +290,27 @@ export function updateSettings(formValues) { dispatch(setToastText('Toast.SettingsSaved')); resolve(); }) - .catch((error) => resolve({ error })) - ); + .catch((error) => { + if (error.response) { + switch (error.response.status) { + case 401: + dispatch(showToast(5500)); + dispatch(setToastText('Toast.IncorrectCurrentPass')); + break; + case 404: + dispatch(showToast(5500)); + dispatch(setToastText('Toast.UserNotFound')); + break; + default: + dispatch(showToast(5500)); + dispatch(setToastText('Toast.DefaultError')); + } + } else { + dispatch(showToast(5500)); + dispatch(setToastText('Toast.NetworkError')); + } + }); + }); } export function createApiKeySuccess(user) { diff --git a/translations/locales/en-US/translations.json b/translations/locales/en-US/translations.json index aa59c3045..2f00b3bd1 100644 --- a/translations/locales/en-US/translations.json +++ b/translations/locales/en-US/translations.json @@ -117,7 +117,12 @@ "SketchFailedSave": "Failed to save sketch.", "AutosaveEnabled": "Autosave enabled.", "LangChange": "Language changed", - "SettingsSaved": "Settings saved." + "SettingsSaved": "Settings saved.", + "EmptyCurrentPass": "Current password field is empty", + "IncorrectCurrentPass": "Current password is incorrect", + "DefaultError":"Something went wrong", + "UserNotFound": "User not found", + "NetworkError": "Network error" }, "Toolbar": { "Preview": "Preview", diff --git a/translations/locales/hi/translations.json b/translations/locales/hi/translations.json index b05e296a6..59f79fe72 100644 --- a/translations/locales/hi/translations.json +++ b/translations/locales/hi/translations.json @@ -116,7 +116,12 @@ "SketchFailedSave": "स्केच सेव करने में असमर्थ", "AutosaveEnabled": "ऑटोसेव चालू", "LangChange": "भाषा बदली", - "SettingsSaved": "सेटिंग्स सेव की" + "SettingsSaved": "सेटिंग्स सेव की", + "EmptyCurrentPass": "वर्तमान पासवर्ड फ़ील्ड खाली है", + "IncorrectCurrentPass": "वर्तमान पासवर्ड गलत है ", + "DefaultError":"कुछ गलत हो गया", + "UserNotFound": "उपयोगकर्ता नहीं मिला", + "NetworkError": "नेटवर्क त्रुटि" }, "Toolbar": { "Preview": "पूर्वावलोकन",