Quellcode durchsuchen

Do not show OAuth2 in auth method dropdown as it has its own button

Johannes Zellner vor 1 Jahr
Ursprung
Commit
d93a58d892
1 geänderte Dateien mit 6 neuen und 10 gelöschten Zeilen
  1. 6 10
      client/components/settings/connectionMethod.js

+ 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.length > 1) {
+
+    if (this.authenticationMethods.get().length > 1) {
       content.show();
     } else {
       content.hide();