diff options
author | Christopher Speller <crspeller@gmail.com> | 2015-11-06 10:17:04 -0500 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2015-11-06 10:17:04 -0500 |
commit | 51da1b1ca1ff92fcfcdb70c46236f10ee3d20a3f (patch) | |
tree | a8d77ba7c6fedbbe63bb8b0da88f19177f44ac51 /web/react/components | |
parent | 93a684ca1b0030d2c13fb8e157b9db7c0541f513 (diff) | |
parent | 7eca077877787b0cd9eb7764f46e9eba78fb7382 (diff) | |
download | chat-51da1b1ca1ff92fcfcdb70c46236f10ee3d20a3f.tar.gz chat-51da1b1ca1ff92fcfcdb70c46236f10ee3d20a3f.tar.bz2 chat-51da1b1ca1ff92fcfcdb70c46236f10ee3d20a3f.zip |
Merge pull request #1332 from mattermost/plt-560
PLT-560 Prevent SSO users from changing their email
Diffstat (limited to 'web/react/components')
-rw-r--r-- | web/react/components/user_settings/user_settings_general.jsx | 90 |
1 files changed, 55 insertions, 35 deletions
diff --git a/web/react/components/user_settings/user_settings_general.jsx b/web/react/components/user_settings/user_settings_general.jsx index 9f0c16194..1bfae6930 100644 --- a/web/react/components/user_settings/user_settings_general.jsx +++ b/web/react/components/user_settings/user_settings_general.jsx @@ -451,44 +451,60 @@ export default class UserSettingsGeneralTab extends React.Component { } } - inputs.push( - <div key='emailSetting'> - <div className='form-group'> - <label className='col-sm-5 control-label'>{'Primary Email'}</label> - <div className='col-sm-7'> - <input - className='form-control' - type='text' - onChange={this.updateEmail} - value={this.state.email} - /> + let submit = null; + + if (this.props.user.auth_service === '') { + inputs.push( + <div key='emailSetting'> + <div className='form-group'> + <label className='col-sm-5 control-label'>{'Primary Email'}</label> + <div className='col-sm-7'> + <input + className='form-control' + type='text' + onChange={this.updateEmail} + value={this.state.email} + /> + </div> </div> </div> - </div> - ); - - inputs.push( - <div key='confirmEmailSetting'> - <div className='form-group'> - <label className='col-sm-5 control-label'>{'Confirm Email'}</label> - <div className='col-sm-7'> - <input - className='form-control' - type='text' - onChange={this.updateConfirmEmail} - value={this.state.confirmEmail} - /> + ); + + inputs.push( + <div key='confirmEmailSetting'> + <div className='form-group'> + <label className='col-sm-5 control-label'>{'Confirm Email'}</label> + <div className='col-sm-7'> + <input + className='form-control' + type='text' + onChange={this.updateConfirmEmail} + value={this.state.confirmEmail} + /> + </div> </div> + {helpText} </div> - {helpText} - </div> - ); + ); + + submit = this.submitEmail; + } else { + inputs.push( + <div + key='oauthEmailInfo' + className='form-group' + > + <div className='setting-list__hint'>{'Log in occurs through GitLab. Email cannot be updated.'}</div> + {helpText} + </div> + ); + } emailSection = ( <SettingItemMax title='Email' inputs={inputs} - submit={this.submitEmail} + submit={submit} server_error={serverError} client_error={emailError} updateSection={function clearSection(e) { @@ -499,15 +515,19 @@ export default class UserSettingsGeneralTab extends React.Component { ); } else { let describe = ''; - if (this.state.emailChangeInProgress) { - const newEmail = UserStore.getCurrentUser().email; - if (newEmail) { - describe = 'New Address: ' + newEmail + '\nCheck your email to verify the above address.'; + if (this.props.user.auth_service === '') { + if (this.state.emailChangeInProgress) { + const newEmail = UserStore.getCurrentUser().email; + if (newEmail) { + describe = 'New Address: ' + newEmail + '\nCheck your email to verify the above address.'; + } else { + describe = 'Check your email to verify your new address'; + } } else { - describe = 'Check your email to verify your new address'; + describe = UserStore.getCurrentUser().email; } } else { - describe = UserStore.getCurrentUser().email; + describe = 'Log in done through GitLab'; } emailSection = ( |