added errors to claim ldap account (#3468)

Этот коммит содержится в:
David Lu
2016-07-05 07:26:09 -04:00
коммит произвёл Joram Wilander
родитель f1c49d9b3b
Коммит 0557c03d11
2 изменённых файлов: 108 добавлений и 42 удалений

Просмотреть файл

@@ -14,34 +14,43 @@ export default class EmailToLDAP extends React.Component {
this.submit = this.submit.bind(this); this.submit = this.submit.bind(this);
this.state = {}; this.state = {
passwordError: '',
ldapError: '',
ldapPasswordError: '',
serverError: ''
};
} }
submit(e) { submit(e) {
e.preventDefault(); e.preventDefault();
var state = {}; var state = {
passwordError: '',
ldapError: '',
ldapPasswordError: '',
serverError: ''
};
const password = ReactDOM.findDOMNode(this.refs.emailpassword).value; const password = ReactDOM.findDOMNode(this.refs.emailpassword).value;
if (!password) { if (!password) {
state.error = Utils.localizeMessage('claim.email_to_ldap.pwdError', 'Please enter your password.'); state.passwordError = Utils.localizeMessage('claim.email_to_ldap.pwdError', 'Please enter your password.');
this.setState(state); this.setState(state);
return; return;
} }
const ldapId = ReactDOM.findDOMNode(this.refs.ldapid).value.trim(); const ldapId = ReactDOM.findDOMNode(this.refs.ldapid).value.trim();
if (!ldapId) { if (!ldapId) {
state.error = Utils.localizeMessage('claim.email_to_ldap.ldapIdError', 'Please enter your LDAP ID.'); state.ldapError = Utils.localizeMessage('claim.email_to_ldap.ldapIdError', 'Please enter your LDAP ID.');
this.setState(state); this.setState(state);
return; return;
} }
const ldapPassword = ReactDOM.findDOMNode(this.refs.ldappassword).value; const ldapPassword = ReactDOM.findDOMNode(this.refs.ldappassword).value;
if (!ldapPassword) { if (!ldapPassword) {
state.error = Utils.localizeMessage('claim.email_to_ldap.ldapPasswordError', 'Please enter your LDAP password.'); state.ldapPasswordError = Utils.localizeMessage('claim.email_to_ldap.ldapPasswordError', 'Please enter your LDAP password.');
this.setState(state); this.setState(state);
return; return;
} }
state.error = null;
this.setState(state); this.setState(state);
Client.emailToLdap( Client.emailToLdap(
@@ -55,19 +64,37 @@ export default class EmailToLDAP extends React.Component {
} }
}, },
(err) => { (err) => {
this.setState({error: err.message}); this.setState({serverError: err.message});
} }
); );
} }
render() { render() {
var error = null; let serverError = null;
if (this.state.error) { let formClass = 'form-group';
error = <div className='form-group has-error'><label className='control-label'>{this.state.error}</label></div>; if (this.state.serverError) {
serverError = <div className='form-group has-error'><label className='control-label'>{this.state.serverError}</label></div>;
formClass += ' has-error';
} }
var formClass = 'form-group'; let passwordError = null;
if (error) { let passwordClass = 'form-group';
formClass += ' has-error'; if (this.state.passwordError) {
passwordError = <div className='form-group has-error'><label className='control-label'>{this.state.passwordError}</label></div>;
passwordClass += ' has-error';
}
let ldapError = null;
let ldapClass = 'form-group';
if (this.state.ldapError) {
ldapError = <div className='form-group has-error'><label className='control-label'>{this.state.ldapError}</label></div>;
ldapClass += ' has-error';
}
let ldapPasswordError = null;
let ldapPasswordClass = 'form-group';
if (this.state.ldapPasswordError) {
ldapPasswordError = <div className='form-group has-error'><label className='control-label'>{this.state.ldapPasswordError}</label></div>;
ldapPasswordClass += ' has-error';
} }
let loginPlaceholder; let loginPlaceholder;
@@ -92,7 +119,10 @@ export default class EmailToLDAP extends React.Component {
defaultMessage='Switch Email/Password Account to LDAP' defaultMessage='Switch Email/Password Account to LDAP'
/> />
</h3> </h3>
<form onSubmit={this.submit}> <form
onSubmit={this.submit}
className={formClass}
>
<p> <p>
<FormattedMessage <FormattedMessage
id='claim.email_to_ldap.ssoType' id='claim.email_to_ldap.ssoType'
@@ -119,7 +149,7 @@ export default class EmailToLDAP extends React.Component {
style={{display: 'none'}} style={{display: 'none'}}
name='fakeusernameremembered' name='fakeusernameremembered'
/> />
<div className={formClass}> <div className={passwordClass}>
<input <input
type='password' type='password'
className='form-control' className='form-control'
@@ -130,13 +160,14 @@ export default class EmailToLDAP extends React.Component {
spellCheck='false' spellCheck='false'
/> />
</div> </div>
{passwordError}
<p> <p>
<FormattedMessage <FormattedMessage
id='claim.email_to_ldap.enterLdapPwd' id='claim.email_to_ldap.enterLdapPwd'
defaultMessage='Enter the ID and password for your LDAP account' defaultMessage='Enter the ID and password for your LDAP account'
/> />
</p> </p>
<div className={formClass}> <div className={ldapClass}>
<input <input
type='text' type='text'
className='form-control' className='form-control'
@@ -147,7 +178,8 @@ export default class EmailToLDAP extends React.Component {
spellCheck='false' spellCheck='false'
/> />
</div> </div>
<div className={formClass}> {ldapError}
<div className={ldapPasswordClass}>
<input <input
type='password' type='password'
className='form-control' className='form-control'
@@ -158,7 +190,7 @@ export default class EmailToLDAP extends React.Component {
spellCheck='false' spellCheck='false'
/> />
</div> </div>
{error} {ldapPasswordError}
<button <button
type='submit' type='submit'
className='btn btn-primary' className='btn btn-primary'
@@ -168,6 +200,7 @@ export default class EmailToLDAP extends React.Component {
defaultMessage='Switch account to LDAP' defaultMessage='Switch account to LDAP'
/> />
</button> </button>
{serverError}
</form> </form>
</div> </div>
); );

Просмотреть файл

@@ -15,35 +15,44 @@ export default class LDAPToEmail extends React.Component {
this.submit = this.submit.bind(this); this.submit = this.submit.bind(this);
this.state = {}; this.state = {
passwordError: '',
confirmError: '',
ldapPasswordError: '',
serverError: ''
};
} }
submit(e) { submit(e) {
e.preventDefault(); e.preventDefault();
var state = {}; var state = {
passwordError: '',
confirmError: '',
ldapPasswordError: '',
serverError: ''
};
const ldapPassword = ReactDOM.findDOMNode(this.refs.ldappassword).value;
if (!ldapPassword) {
state.ldapPasswordError = Utils.localizeMessage('claim.ldap_to_email.ldapPasswordError', 'Please enter your LDAP password.');
this.setState(state);
return;
}
const password = ReactDOM.findDOMNode(this.refs.password).value; const password = ReactDOM.findDOMNode(this.refs.password).value;
if (!password) { if (!password) {
state.error = Utils.localizeMessage('claim.ldap_to_email.pwdError', 'Please enter your password.'); state.passwordError = Utils.localizeMessage('claim.ldap_to_email.pwdError', 'Please enter your password.');
this.setState(state); this.setState(state);
return; return;
} }
const confirmPassword = ReactDOM.findDOMNode(this.refs.passwordconfirm).value; const confirmPassword = ReactDOM.findDOMNode(this.refs.passwordconfirm).value;
if (!confirmPassword || password !== confirmPassword) { if (!confirmPassword || password !== confirmPassword) {
state.error = Utils.localizeMessage('claim.ldap_to_email.pwdNotMatch', 'Passwords do not match.'); state.confirmError = Utils.localizeMessage('claim.ldap_to_email.pwdNotMatch', 'Passwords do not match.');
this.setState(state); this.setState(state);
return; return;
} }
const ldapPassword = ReactDOM.findDOMNode(this.refs.ldappassword).value;
if (!ldapPassword) {
state.error = Utils.localizeMessage('claim.ldap_to_email.ldapPasswordError', 'Please enter your LDAP password.');
this.setState(state);
return;
}
state.error = null;
this.setState(state); this.setState(state);
switchFromLdapToEmail( switchFromLdapToEmail(
@@ -51,19 +60,37 @@ export default class LDAPToEmail extends React.Component {
password, password,
ldapPassword, ldapPassword,
null, null,
(err) => this.setState({error: err.message}) (err) => this.setState({serverError: err.message})
); );
} }
render() { render() {
var error = null; let serverError = null;
if (this.state.error) { let formClass = 'form-group';
error = <div className='form-group has-error'><label className='control-label'>{this.state.error}</label></div>; if (this.state.serverError) {
serverError = <div className='form-group has-error'><label className='control-label'>{this.state.serverError}</label></div>;
formClass += ' has-error';
} }
var formClass = 'form-group'; let passwordError = null;
if (error) { let passwordClass = 'form-group';
formClass += ' has-error'; if (this.state.passwordError) {
passwordError = <div className='form-group has-error'><label className='control-label'>{this.state.passwordError}</label></div>;
passwordClass += ' has-error';
}
let ldapPasswordError = null;
let ldapPasswordClass = 'form-group';
if (this.state.ldapPasswordError) {
ldapPasswordError = <div className='form-group has-error'><label className='control-label'>{this.state.ldapPasswordError}</label></div>;
ldapPasswordClass += ' has-error';
}
let confirmError = null;
let confimClass = 'form-group';
if (this.state.confirmError) {
confirmError = <div className='form-group has-error'><label className='control-label'>{this.state.confirmError}</label></div>;
confimClass += ' has-error';
} }
let passwordPlaceholder; let passwordPlaceholder;
@@ -81,7 +108,10 @@ export default class LDAPToEmail extends React.Component {
defaultMessage='Switch LDAP Account to Email/Password' defaultMessage='Switch LDAP Account to Email/Password'
/> />
</h3> </h3>
<form onSubmit={this.submit}> <form
onSubmit={this.submit}
className={formClass}
>
<p> <p>
<FormattedMessage <FormattedMessage
id='claim.ldap_to_email.ssoType' id='claim.ldap_to_email.ssoType'
@@ -107,7 +137,7 @@ export default class LDAPToEmail extends React.Component {
}} }}
/> />
</p> </p>
<div className={formClass}> <div className={ldapPasswordClass}>
<input <input
type='password' type='password'
className='form-control' className='form-control'
@@ -117,13 +147,14 @@ export default class LDAPToEmail extends React.Component {
spellCheck='false' spellCheck='false'
/> />
</div> </div>
{ldapPasswordError}
<p> <p>
<FormattedMessage <FormattedMessage
id='claim.ldap_to_email.enterPwd' id='claim.ldap_to_email.enterPwd'
defaultMessage='Enter a new password for your email account' defaultMessage='Enter a new password for your email account'
/> />
</p> </p>
<div className={formClass}> <div className={passwordClass}>
<input <input
type='password' type='password'
className='form-control' className='form-control'
@@ -133,7 +164,8 @@ export default class LDAPToEmail extends React.Component {
spellCheck='false' spellCheck='false'
/> />
</div> </div>
<div className={formClass}> {passwordError}
<div className={confimClass}>
<input <input
type='password' type='password'
className='form-control' className='form-control'
@@ -143,7 +175,7 @@ export default class LDAPToEmail extends React.Component {
spellCheck='false' spellCheck='false'
/> />
</div> </div>
{error} {confirmError}
<button <button
type='submit' type='submit'
className='btn btn-primary' className='btn btn-primary'
@@ -153,6 +185,7 @@ export default class LDAPToEmail extends React.Component {
defaultMessage='Switch account to email/password' defaultMessage='Switch account to email/password'
/> />
</button> </button>
{serverError}
</form> </form>
</div> </div>
); );