@@ -1290,7 +1360,6 @@ class CreateAccountView extends React.PureComponent {
this.state = {
login: '',
password: '',
- password2: '',
email: '',
fn: '', // full/formatted name
imageDataUrl: null,
@@ -1300,7 +1369,6 @@ class CreateAccountView extends React.PureComponent {
this.handleLoginChange = this.handleLoginChange.bind(this);
this.handlePasswordChange = this.handlePasswordChange.bind(this);
- this.handlePassword2Change = this.handlePassword2Change.bind(this);
this.handleEmailChange = this.handleEmailChange.bind(this);
this.handleFnChange = this.handleFnChange.bind(this);
this.handleImageChanged = this.handleImageChanged.bind(this);
@@ -1312,12 +1380,8 @@ class CreateAccountView extends React.PureComponent {
this.setState({login: e.target.value});
}
- handlePasswordChange(e) {
- this.setState({password: e.target.value});
- }
-
- handlePassword2Change(e) {
- this.setState({password2: e.target.value});
+ handlePasswordChange(password) {
+ this.setState({password: password});
}
handleEmailChange(e) {
@@ -1339,17 +1403,13 @@ class CreateAccountView extends React.PureComponent {
handleSubmit(e) {
e.preventDefault();
- if (this.state.password.trim() != this.state.password2.trim()) {
- this.props.onError("Passwords don't match", "warn");
- } else {
- // TODO: check email for validity
- this.setState({errorCleared: false});
- this.props.onCreateAccount(
- this.state.login.trim(),
- this.state.password.trim(),
- vcard(this.state.fn, this.state.imageDataUrl),
- {"meth": "email", "val": this.state.email});
- }
+ // TODO: check email for validity
+ this.setState({errorCleared: false});
+ this.props.onCreateAccount(
+ this.state.login.trim(),
+ this.state.password.trim(),
+ vcard(this.state.fn, this.state.imageDataUrl),
+ {"meth": "email", "val": this.state.email});
}
render() {
@@ -1363,23 +1423,22 @@ class CreateAccountView extends React.PureComponent {
-
-
+
-
@@ -1467,6 +1526,7 @@ class PasswordResetView extends React.PureComponent {
this.state = {
email: '',
+ password: ''
};
this.handleSubmit = this.handleSubmit.bind(this);
@@ -1475,32 +1535,50 @@ class PasswordResetView extends React.PureComponent {
handleSubmit(e) {
e.preventDefault();
- this.props.onSubmit("email", this.state.email.trim());
+ if (this.props.token) {
+ this.props.onSubmit(null, this.state.password.trim());
+ } else {
+ this.props.onSubmit("email", this.state.email.trim());
+ }
}
handleEmailChange(e) {
this.setState({email: e.target.value});
}
+ handlePasswordChange(e) {
+ this.setState({password: e.target.value});
+ }
+
render() {
+ let buttonText = this.props.token ? "Reset" : "Send request";
return (
);
}
}
-
/* END PasswordResetView */
@@ -1891,7 +1969,7 @@ class EditAccountView extends React.Component {