Explorar o código

Merge pull request #5056 from cloudron-io/login-layout-fixes-2

Login layout fixes 2
Lauri Ojansivu hai 1 ano
pai
achega
7d1bca3702

+ 7 - 4
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) => {

+ 6 - 10
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();