From faf807d872498283455c2ca08401d10e48104843 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Fri, 6 May 2016 08:08:11 -0400 Subject: PLT-2809 Followups to login page redesign (#2901) * Rearranged controls on the login page * Prevented login when username or password hasn't been entered * Updated login page error messages * Enabled sign in with username by default --- webapp/components/login/login.jsx | 199 +++++++++++++++++++------------------- 1 file changed, 100 insertions(+), 99 deletions(-) (limited to 'webapp/components/login') diff --git a/webapp/components/login/login.jsx b/webapp/components/login/login.jsx index d2ee1be81..0a12ed645 100644 --- a/webapp/components/login/login.jsx +++ b/webapp/components/login/login.jsx @@ -50,58 +50,25 @@ export default class Login extends React.Component { e.preventDefault(); const loginId = this.state.loginId.trim(); - if (!loginId) { - const ldapEnabled = global.window.mm_config.EnableLdap === 'true'; - const usernameSigninEnabled = global.window.mm_config.EnableSignInWithUsername === 'true'; - const emailSigninEnabled = global.window.mm_config.EnableSignInWithEmail === 'true'; - - this.setState({ - serverError: ( - - ) - }); - - return; - } - const password = this.state.password.trim(); - if (!password) { - this.setState({ - serverError: ( - - ) - }); - - return; - } - if (global.window.mm_config.EnableMultifactorAuthentication !== 'true') { + if (global.window.mm_config.EnableMultifactorAuthentication === 'true') { + Client.checkMfa( + loginId, + (data) => { + if (data.mfa_required === 'true') { + this.setState({showMfa: true}); + } else { + this.submit(loginId, password, ''); + } + }, + (err) => { + this.setState({serverError: err.message}); + } + ); + } else { this.submit(loginId, password, ''); - return; } - - Client.checkMfa( - loginId, - (data) => { - if (data.mfa_required === 'true') { - this.setState({showMfa: true}); - } else { - this.submit(loginId, password, ''); - } - }, - (err) => { - this.setState({serverError: err.message}); - } - ); } submit(loginId, password, token) { @@ -125,7 +92,16 @@ export default class Login extends React.Component { serverError: ( + ) + }); + } else if (err.id === 'api.user.check_user_password.invalid.app_error' || err.id === 'ent.ldap.do_login.invalid_password.app_error') { + this.setState({ + serverError: ( + ) }); @@ -251,58 +227,25 @@ export default class Login extends React.Component { } } + const loginControls = []; + const ldapEnabled = global.window.mm_config.EnableLdap === 'true'; const gitlabSigninEnabled = global.window.mm_config.EnableSignUpWithGitLab === 'true'; const googleSigninEnabled = global.window.mm_config.EnableSignUpWithGoogle === 'true'; const usernameSigninEnabled = global.window.mm_config.EnableSignInWithUsername === 'true'; const emailSigninEnabled = global.window.mm_config.EnableSignInWithEmail === 'true'; - const oauthLogins = []; - if (gitlabSigninEnabled) { - oauthLogins.push( - - - - - - - ); - } - - if (googleSigninEnabled) { - oauthLogins.push( - - - - - - - ); - } - - let login = null; if (emailSigninEnabled || usernameSigninEnabled || ldapEnabled) { let errorClass = ''; if (this.state.serverError) { errorClass = ' has-error'; } - login = ( -
+ loginControls.push( +
@@ -330,6 +273,7 @@ export default class Login extends React.Component {