From f66dd69710943c0bd987cbc5bbb07c465dd5881e Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 15 Mar 2016 18:40:03 +0000 Subject: [PATCH] oops, revert - do this on the right branch... --- src/components/structures/MatrixChat.js | 1 + src/components/structures/ScrollPanel.js | 2 +- .../structures/login/Registration.js | 8 ++---- .../views/login/RegistrationForm.js | 25 +++++++------------ 4 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js index c0e344049d..df27d38172 100644 --- a/src/components/structures/MatrixChat.js +++ b/src/components/structures/MatrixChat.js @@ -1033,6 +1033,7 @@ module.exports = React.createClass({ idSid={this.state.register_id_sid} email={this.props.startingQueryParams.email} username={this.state.upgradeUsername} + disableUsernameChanges={Boolean(this.state.upgradeUsername)} guestAccessToken={this.state.guestAccessToken} defaultHsUrl={this.props.config.default_hs_url} defaultIsUrl={this.props.config.default_is_url} diff --git a/src/components/structures/ScrollPanel.js b/src/components/structures/ScrollPanel.js index 9b85854016..129cbd4581 100644 --- a/src/components/structures/ScrollPanel.js +++ b/src/components/structures/ScrollPanel.js @@ -19,7 +19,7 @@ var ReactDOM = require("react-dom"); var GeminiScrollbar = require('react-gemini-scrollbar'); var q = require("q"); -var DEBUG_SCROLL = false; +var DEBUG_SCROLL = true; if (DEBUG_SCROLL) { // using bind means that we get to keep useful line numbers in the console diff --git a/src/components/structures/login/Registration.js b/src/components/structures/login/Registration.js index e52a49c823..cf9adee1bb 100644 --- a/src/components/structures/login/Registration.js +++ b/src/components/structures/login/Registration.js @@ -43,6 +43,7 @@ module.exports = React.createClass({ email: React.PropTypes.string, username: React.PropTypes.string, guestAccessToken: React.PropTypes.string, + disableUsernameChanges: React.PropTypes.bool, // registration shouldn't know or care how login is done. onLoginClick: React.PropTypes.func.isRequired }, @@ -107,12 +108,6 @@ module.exports = React.createClass({ errorText: "", busy: true }); - - if (formVals.username !== this.props.username) { - // don't try to upgrade if we changed our username - this.registerLogic.setGuestAccessToken(null); - } - this.onProcessingRegistration(this.registerLogic.register(formVals)); }, @@ -210,6 +205,7 @@ module.exports = React.createClass({ showEmail={true} defaultUsername={this.props.username} defaultEmail={this.props.email} + disableUsernameChanges={this.props.disableUsernameChanges} minPasswordLength={MIN_PASSWORD_LENGTH} onError={this.onFormValidationFailed} onRegisterClick={this.onFormSubmit} /> diff --git a/src/components/views/login/RegistrationForm.js b/src/components/views/login/RegistrationForm.js index 727bb2c1ff..469deb890a 100644 --- a/src/components/views/login/RegistrationForm.js +++ b/src/components/views/login/RegistrationForm.js @@ -38,6 +38,7 @@ module.exports = React.createClass({ defaultUsername: React.PropTypes.string, showEmail: React.PropTypes.bool, minPasswordLength: React.PropTypes.number, + disableUsernameChanges: React.PropTypes.bool, onError: React.PropTypes.func, onRegisterClick: React.PropTypes.func // onRegisterClick(Object) => ?Promise }, @@ -55,7 +56,7 @@ module.exports = React.createClass({ getInitialState: function() { return { email: this.props.defaultEmail, - username: null, + username: this.props.defaultUsername, password: null, passwordConfirm: null, fieldValid: {} @@ -77,7 +78,7 @@ module.exports = React.createClass({ if (this.allFieldsValid()) { var promise = this.props.onRegisterClick({ - username: this.refs.username.value.trim() || this.props.defaultUsername, + username: this.refs.username.value.trim(), password: this.refs.password.value.trim(), email: this.refs.email.value.trim() }); @@ -119,14 +120,13 @@ module.exports = React.createClass({ break; case FIELD_USERNAME: // XXX: SPEC-1 - var username = this.refs.username.value.trim() || this.props.defaultUsername; - if (encodeURIComponent(username) != username) { + if (encodeURIComponent(this.refs.username.value) != this.refs.username.value) { this.markFieldValid( field_id, false, "RegistrationForm.ERR_USERNAME_INVALID" ); - } else if (username == '') { + } else if (this.refs.username.value == '') { this.markFieldValid( field_id, false, @@ -199,7 +199,7 @@ module.exports = React.createClass({ if (this.props.showEmail) { emailSection = ( @@ -211,24 +211,17 @@ module.exports = React.createClass({ ); } - var placeholderUserName = "User name"; - if (this.props.defaultUsername) { - placeholderUserName += " (default: " + this.props.defaultUsername + ")" - } - return (
{emailSection}
+ onBlur={function() {self.validateField(FIELD_USERNAME)}} + disabled={this.props.disableUsernameChanges} />
- { this.props.defaultUsername ? -
Setting a user name will create a fresh account
: null - }