From 0a346350e81c160d2d25bb65d960a046c168b378 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Mon, 21 Mar 2016 01:15:11 +0000 Subject: [PATCH] warn if you don't specify an email --- .../views/login/RegistrationForm.js | 45 ++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/src/components/views/login/RegistrationForm.js b/src/components/views/login/RegistrationForm.js index 727bb2c1ff..83bd1ab17c 100644 --- a/src/components/views/login/RegistrationForm.js +++ b/src/components/views/login/RegistrationForm.js @@ -21,6 +21,7 @@ var Velocity = require('velocity-animate'); require('velocity-ui-pack'); var sdk = require('../../../index'); var Email = require('../../../email'); +var Modal = require("../../../Modal"); var FIELD_EMAIL = 'field_email'; var FIELD_USERNAME = 'field_username'; @@ -75,22 +76,46 @@ module.exports = React.createClass({ this.validateField(FIELD_USERNAME); this.validateField(FIELD_EMAIL); + var self = this; if (this.allFieldsValid()) { - 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; + if (this.refs.email.value == '') { + var QuestionDialog = sdk.getComponent("dialogs.QuestionDialog"); + Modal.createDialog(QuestionDialog, { + title: "Warning", + description: +
+ If you don't specify an email address, you won't be able to reset your password.
+ Are you sure? +
, + 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 * they were validated.