From c84fe62ca199485dccefc37e00ca2bef45d47c6d Mon Sep 17 00:00:00 2001 From: Reed Garmsen Date: Tue, 6 Oct 2015 08:58:31 -0700 Subject: Added new email to email change notification --- .../user_settings/user_settings_general.jsx | 32 ++++++++-------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'web') diff --git a/web/react/components/user_settings/user_settings_general.jsx b/web/react/components/user_settings/user_settings_general.jsx index d2f1117d5..c6c508ad7 100644 --- a/web/react/components/user_settings/user_settings_general.jsx +++ b/web/react/components/user_settings/user_settings_general.jsx @@ -115,26 +115,19 @@ export default class UserSettingsGeneralTab extends React.Component { } user.email = email; - - if (this.state.emailEnabled && this.state.emailVerificationEnabled) { - this.submitUser(user, {emailChangeInProgress: true}); - } else { - this.submitUser(user, {emailChangeInProgress: false}); - } + this.submitUser(user); } - submitUser(user, newState) { + submitUser(user) { client.updateUser(user, function updateSuccess() { this.updateSection(''); AsyncClient.getMe(); + const verificationEnabled = global.window.config.SendEmailNotifications === 'true' && global.window.config.RequireEmailVerification === 'true'; - if (newState) { - if (newState.emailChangeInProgress) { - ErrorStore.storeLastError({message: 'Check your email at ' + user.email + ' to verify the address.'}); - ErrorStore.emitChange(); - } - - this.setState(newState); + if (verificationEnabled) { + ErrorStore.storeLastError({message: 'Check your email at ' + user.email + ' to verify the address.'}); + ErrorStore.emitChange(); + this.setState({emailChangeInProgress: true}); } }.bind(this), function updateFailure(err) { @@ -233,12 +226,9 @@ export default class UserSettingsGeneralTab extends React.Component { } setupInitialState(props) { var user = props.user; - var emailEnabled = global.window.config.SendEmailNotifications === 'true'; - var emailVerificationEnabled = global.window.config.RequireEmailVerification === 'true'; return {username: user.username, firstName: user.first_name, lastName: user.last_name, nickname: user.nickname, - email: user.email, confirmEmail: '', picture: null, loadingPicture: false, emailEnabled: emailEnabled, - emailVerificationEnabled: emailVerificationEnabled, emailChangeInProgress: false}; + email: user.email, confirmEmail: '', picture: null, loadingPicture: false, emailChangeInProgress: false}; } render() { var user = this.props.user; @@ -462,11 +452,13 @@ export default class UserSettingsGeneralTab extends React.Component { } var emailSection; if (this.props.activeSection === 'email') { + const emailEnabled = global.window.config.SendEmailNotifications === 'true'; + const emailVerificationEnabled = global.window.config.RequireEmailVerification === 'true'; let helpText = 'Email is used for notifications, and requires verification if changed.'; - if (!this.state.emailEnabled) { + if (!emailEnabled) { helpText =
{'Email has been disabled by your system administrator. No notification emails will be sent until it is enabled.'}
; - } else if (!this.state.emailVerificationEnabled) { + } else if (!emailVerificationEnabled) { helpText = 'Email is used for notifications.'; } else if (this.state.emailChangeInProgress) { const newEmail = UserStore.getCurrentUser().email; -- cgit v1.2.3-1-g7c22