Hide password section if you can't change your password
Fixes https://github.com/vector-im/riot-web/issues/11950pull/21833/head
							parent
							
								
									beb2503542
								
							
						
					
					
						commit
						c22bfa84b7
					
				|  | @ -70,7 +70,12 @@ export default class GeneralUserSettingsTab extends React.Component { | |||
|         const cli = MatrixClientPeg.get(); | ||||
| 
 | ||||
|         const serverSupportsSeparateAddAndBind = await cli.doesServerSupportSeparateAddAndBind(); | ||||
|         this.setState({serverSupportsSeparateAddAndBind}); | ||||
| 
 | ||||
|         const capabilities = await cli.getCapabilities(); // this is cached
 | ||||
|         const changePasswordCap = capabilities['m.change_password']; | ||||
|         const canChangePassword = changePasswordCap && changePasswordCap['enabled'] === false; | ||||
| 
 | ||||
|         this.setState({serverSupportsSeparateAddAndBind, canChangePassword}); | ||||
| 
 | ||||
|         this._getThreepidState(); | ||||
|     } | ||||
|  | @ -280,7 +285,7 @@ export default class GeneralUserSettingsTab extends React.Component { | |||
|         const PhoneNumbers = sdk.getComponent("views.settings.account.PhoneNumbers"); | ||||
|         const Spinner = sdk.getComponent("views.elements.Spinner"); | ||||
| 
 | ||||
|         const passwordChangeForm = ( | ||||
|         let passwordChangeForm = ( | ||||
|             <ChangePassword | ||||
|                 className="mx_GeneralUserSettingsTab_changePassword" | ||||
|                 rowClassName="" | ||||
|  | @ -314,11 +319,18 @@ export default class GeneralUserSettingsTab extends React.Component { | |||
|             threepidSection = <Spinner />; | ||||
|         } | ||||
| 
 | ||||
|         let passwordChangeText = _t("Set a new account password..."); | ||||
|         if (!this.state.canChangePassword) { | ||||
|             // Just don't show anything if you can't do anything.
 | ||||
|             passwordChangeText = null; | ||||
|             passwordChangeForm = null; | ||||
|         } | ||||
| 
 | ||||
|         return ( | ||||
|             <div className="mx_SettingsTab_section mx_GeneralUserSettingsTab_accountSection"> | ||||
|                 <span className="mx_SettingsTab_subheading">{_t("Account")}</span> | ||||
|                 <p className="mx_SettingsTab_subsectionText"> | ||||
|                     {_t("Set a new account password...")} | ||||
|                     {passwordChangeText} | ||||
|                 </p> | ||||
|                 {passwordChangeForm} | ||||
|                 {threepidSection} | ||||
|  |  | |||
|  | @ -665,8 +665,8 @@ | |||
|     "Profile": "Profile", | ||||
|     "Email addresses": "Email addresses", | ||||
|     "Phone numbers": "Phone numbers", | ||||
|     "Account": "Account", | ||||
|     "Set a new account password...": "Set a new account password...", | ||||
|     "Account": "Account", | ||||
|     "Language and region": "Language and region", | ||||
|     "Theme": "Theme", | ||||
|     "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.": "Agree to the identity server (%(serverName)s) Terms of Service to allow yourself to be discoverable by email address or phone number.", | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Travis Ralston
						Travis Ralston