diff --git a/client/components/settings/connectionMethod.js b/client/components/settings/connectionMethod.js index dd0201835..bc6d477f6 100644 --- a/client/components/settings/connectionMethod.js +++ b/client/components/settings/connectionMethod.js @@ -3,22 +3,18 @@ Template.connectionMethod.onCreated(function() { Meteor.call('getAuthenticationsEnabled', (_, result) => { if (result) { + // Only enabled auth methods without OAuth2/OpenID which is a separate button + const tmp = Object.keys(result).filter((k) => result[k]).filter((k) => k !== 'oauth2'); + // TODO : add a management of different languages // (ex {value: ldap, text: TAPi18n.__('ldap', {}, T9n.getLanguage() || 'en')}) - this.authenticationMethods.set([ - { value: 'password' }, - // Gets only the authentication methods availables - ...Object.entries(result) - .filter(e => e[1]) - .map(e => ({ value: e[0] })), - ]); + this.authenticationMethods.set([{ value: 'password' }].concat(tmp.map((k) => { return { value: k }; }))); } // If only the default authentication available, hides the select boxe const content = $('.at-form-authentication'); - // OAuth method is a separate button, so ignore it in the count - const formAuthenticationMethods = this.authenticationMethods.get().filter((method) => method.value !== 'oauth2'); - if (formAuthenticationMethods.length > 1) { + + if (this.authenticationMethods.get().length > 1) { content.show(); } else { content.hide();