From 196cdbe9d19a754ea0ef05785c1ea8c37cdf5a89 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 1 Sep 2017 16:57:57 -0500 Subject: only highlight relevant fields on ldap/email switch error (#7339) --- webapp/components/claim/components/email_to_ldap.jsx | 16 +++++++++++++++- webapp/components/claim/components/ldap_to_email.jsx | 14 +++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/webapp/components/claim/components/email_to_ldap.jsx b/webapp/components/claim/components/email_to_ldap.jsx index ab65e7dc6..2054231ce 100644 --- a/webapp/components/claim/components/email_to_ldap.jsx +++ b/webapp/components/claim/components/email_to_ldap.jsx @@ -93,7 +93,21 @@ export default class EmailToLDAP extends React.Component { } }, (err) => { - this.setState({serverError: err.message, showMfa: false}); + switch (err.id) { + case 'ent.ldap.do_login.user_not_registered.app_error': + case 'ent.ldap.do_login.user_filtered.app_error': + case 'ent.ldap.do_login.matched_to_many_users.app_error': + this.setState({ldapError: err.message, showMfa: false}); + break; + case 'ent.ldap.do_login.invalid_password.app_error': + this.setState({ldapPasswordError: err.message, showMfa: false}); + break; + case 'api.user.check_user_password.invalid.app_error': + this.setState({passwordError: err.message, showMfa: false}); + break; + default: + this.setState({serverError: err.message, showMfa: false}); + } } ); } diff --git a/webapp/components/claim/components/ldap_to_email.jsx b/webapp/components/claim/components/ldap_to_email.jsx index e68fbb48b..d5f6fbbb2 100644 --- a/webapp/components/claim/components/ldap_to_email.jsx +++ b/webapp/components/claim/components/ldap_to_email.jsx @@ -92,7 +92,19 @@ export default class LDAPToEmail extends React.Component { token, ldapPassword || this.state.ldapPassword, null, - (err) => this.setState({serverError: err.message, showMfa: false}) + (err) => { + if (err.id.startsWith('model.user.is_valid.pwd')) { + this.setState({passwordError: err.message, showMfa: false}); + } else { + switch (err.id) { + case 'ent.ldap.do_login.invalid_password.app_error': + this.setState({ldapPasswordError: err.message, showMfa: false}); + break; + default: + this.setState({serverError: err.message, showMfa: false}); + } + } + } ); } -- cgit v1.2.3-1-g7c22