Remove "Current Password" input if mx_pass exists

If the user is PWLU, do not show "Current Password" field in ChangePassword and when setting a new password, use the cached password.
This commit is contained in:
Luke Barnard 2017-05-11 17:47:45 +01:00
parent 5151264f60
commit 8725ef3863
4 changed files with 37 additions and 16 deletions

View file

@ -216,6 +216,7 @@ export default React.createClass({
enableLabs={this.props.config.enableLabs}
referralBaseUrl={this.props.config.referralBaseUrl}
teamToken={this.props.teamToken}
cachedPassword={this.props.cachedPassword}
/>;
if (!this.props.collapse_rhs) right_panel = <RightPanel opacity={this.props.sideOpacity}/>;
break;

View file

@ -590,6 +590,12 @@ module.exports = React.createClass({
payload.releaseNotes
);
break;
case 'password_changed':
this.setState({
userHasGeneratedPassword: false,
});
localStorage.removeItem("mx_pass");
break;
}
},
@ -1176,7 +1182,8 @@ module.exports = React.createClass({
onUserSettingsClose={this.onUserSettingsClose}
onRegistered={this.onRegistered}
teamToken={this._teamToken}
userHasGeneratedPassword={this.state.userHasGeneratedPassword}
cachedPassword={this.state.userHasGeneratedPassword ?
localStorage.getItem('mx_pass') : null}
{...this.props}
{...this.state}
/>

View file

@ -139,6 +139,9 @@ module.exports = React.createClass({
// Team token for the referral link. If falsy, the referral section will
// not appear
teamToken: React.PropTypes.string,
// the user is a PWLU (/w password stashed in localStorage 'mx_pass')
cachedPassword: React.PropTypes.string,
},
getDefaultProps: function() {
@ -331,6 +334,7 @@ module.exports = React.createClass({
receive push notifications on other devices until you
log back in to them.`,
});
dis.dispatch({action: 'password_changed'});
},
onUpgradeClicked: function() {
@ -894,6 +898,7 @@ module.exports = React.createClass({
rowLabelClassName="mx_UserSettings_profileLabelCell"
rowInputClassName="mx_UserSettings_profileInputCell"
buttonClassName="mx_UserSettings_button mx_UserSettings_changePasswordButton"
cachedPassword={this.props.cachedPassword}
onError={this.onPasswordChangeError}
onFinished={this.onPasswordChanged} />
);