warn if you don't specify an email

This commit is contained in:
Matthew Hodgson 2016-03-21 01:15:11 +00:00
parent 5bdcb64464
commit 0a346350e8

View file

@ -21,6 +21,7 @@ var Velocity = require('velocity-animate');
require('velocity-ui-pack'); require('velocity-ui-pack');
var sdk = require('../../../index'); var sdk = require('../../../index');
var Email = require('../../../email'); var Email = require('../../../email');
var Modal = require("../../../Modal");
var FIELD_EMAIL = 'field_email'; var FIELD_EMAIL = 'field_email';
var FIELD_USERNAME = 'field_username'; var FIELD_USERNAME = 'field_username';
@ -75,22 +76,46 @@ module.exports = React.createClass({
this.validateField(FIELD_USERNAME); this.validateField(FIELD_USERNAME);
this.validateField(FIELD_EMAIL); this.validateField(FIELD_EMAIL);
var self = this;
if (this.allFieldsValid()) { if (this.allFieldsValid()) {
var promise = this.props.onRegisterClick({ if (this.refs.email.value == '') {
username: this.refs.username.value.trim() || this.props.defaultUsername, var QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
password: this.refs.password.value.trim(), Modal.createDialog(QuestionDialog, {
email: this.refs.email.value.trim() title: "Warning",
}); description:
<div>
if (promise) { If you don't specify an email address, you won't be able to reset your password.<br/>
ev.target.disabled = true; Are you sure?
promise.finally(function() { </div>,
ev.target.disabled = false; button: "Continue",
onFinished: function(confirmed) {
if (confirmed) {
self._doSubmit();
}
},
}); });
} }
else {
self._doSubmit();
}
} }
}, },
_doSubmit: function() {
var promise = this.props.onRegisterClick({
username: this.refs.username.value.trim() || this.props.defaultUsername,
password: this.refs.password.value.trim(),
email: this.refs.email.value.trim()
});
if (promise) {
ev.target.disabled = true;
promise.finally(function() {
ev.target.disabled = false;
});
}
},
/** /**
* Returns true if all fields were valid last time * Returns true if all fields were valid last time
* they were validated. * they were validated.