diff --git a/client/components/main/layouts.js b/client/components/main/layouts.js index 090809bab..6ebe6d22e 100644 --- a/client/components/main/layouts.js +++ b/client/components/main/layouts.js @@ -35,6 +35,13 @@ Template.userFormsLayout.onCreated(function () { Meteor.loginWithOidc(options); } }); + + Meteor.subscribe('setting', { + onReady() { + templateInstance.currentSetting.set(ReactiveCache.getCurrentSetting()); + return this.stop(); + }, + }); } }); @@ -52,10 +59,6 @@ Template.userFormsLayout.onRendered(() => { if (result) { $('.at-pwd-form').show(); } - - if (result && enabledAuthenticationMethods.length > 1) { - $('.at-sep').show(); - } }); Meteor.call('isDisableRegistration', (_, result) => { diff --git a/client/components/settings/connectionMethod.js b/client/components/settings/connectionMethod.js index 9eea66ec0..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 > 1) { + + if (this.authenticationMethods.get().length > 1) { content.show(); } else { content.hide();