Commit 537104c5 authored by Matthew Taylor's avatar Matthew Taylor

Add username validation to student complete registration

Fixes #760
parent 2fc62cba
......@@ -23,6 +23,7 @@ module.exports.validations = {
return phoneNumberUtil.isValidNumber(parsed);
}
};
module.exports.validations.notEqualsUsername = module.exports.validations.notEquals;
module.exports.validationHOCFactory = function (defaultValidationErrors) {
return function (Component) {
......
......@@ -226,6 +226,7 @@ module.exports = {
ChoosePasswordStep: intl.injectIntl(React.createClass({
getDefaultProps: function () {
return {
studentUsername: null,
showPassword: false,
waiting: false
};
......@@ -257,7 +258,7 @@ module.exports = {
validations={{
minLength: 6,
notEquals: 'password',
notEqualsField: 'user.username'
notEqualsUsername: this.props.studentUsername
}}
validationErrors={{
minLength: formatMessage({
......@@ -266,7 +267,7 @@ module.exports = {
notEquals: formatMessage({
id: 'registration.validationPasswordNotEquals'
}),
notEqualsField: formatMessage({
notEqualsUsername: formatMessage({
id: 'registration.validationPasswordNotUsername'
})
}}
......@@ -879,7 +880,11 @@ module.exports = {
};
},
onNextStep: function () {
this.props.onNextStep();
this.props.onNextStep({
user: {
username: this.props.studentUsername
}
});
},
render: function () {
var formatMessage = this.props.intl.formatMessage;
......
......@@ -132,7 +132,11 @@ var StudentCompleteRegistration = intl.injectIntl(React.createClass({
{this.props.must_reset_password ?
<Steps.ChoosePasswordStep onNextStep={this.advanceStep}
showPassword={true}
waiting={this.state.waiting} />
waiting={this.state.waiting}
studentUsername={
this.state.formData.user &&
this.state.formData.user.username
} />
:
[]
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment