diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/components/main/layouts.js | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/client/components/main/layouts.js b/client/components/main/layouts.js index 7c060ca5..abc8f6e1 100644 --- a/client/components/main/layouts.js +++ b/client/components/main/layouts.js @@ -121,20 +121,35 @@ function authentication(instance, email, password) { return this.stop(); } - const authenticationMethod = user ? - user.authenticationMethod : - instance.data.defaultAuthenticationMethod.get(); - - // Authentication with LDAP - if (authenticationMethod === 'ldap') { - // Use the ldap connection package - Meteor.loginWithLDAP(email, password, function(error) { - if (!error) { - return FlowRouter.go('/'); - } - return error; - }); + const authenticationMethod = user + ? user.authenticationMethod + : instance.data.defaultAuthenticationMethod.get(); + + switch (authenticationMethod) { + case 'ldap': + // Use the ldap connection package + Meteor.loginWithLDAP(email, password, function(error) { + if (!error) return FlowRouter.go('/'); + displayError('error-ldap-login'); + }); + break; + + default: + displayError('error-undefined'); } return this.stop(); } + +function displayError(code) { + const translated = TAPi18n.__(code); + + if (translated === code) { + return; + } + + if(!$('.at-error').length) { + $('.at-pwd-form').before('<div class="at-error"><p></p></div>'); + } + $('.at-error p').text(translated); +}
\ No newline at end of file |