added errors to claim ldap account (#3468)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
f1c49d9b3b
Коммит
0557c03d11
@@ -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>
|
||||||
);
|
);
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user