Преглед изворни кода

Improves UI for ldap error messages

guillaume пре 6 година
родитељ
комит
1712368f6a
3 измењених фајлова са 34 додато и 15 уклоњено
  1. 28 13
      client/components/main/layouts.js
  2. 3 1
      i18n/en.i18n.json
  3. 3 1
      i18n/fr.i18n.json

+ 28 - 13
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);
+}

+ 3 - 1
i18n/en.i18n.json

@@ -620,5 +620,7 @@
     "layout": "Layout",
     "hide-logo": "Hide Logo",
     "add-custom-html-after-body-start": "Add Custom HTML after <body> start",
-    "add-custom-html-before-body-end": "Add Custom HTML before </body> end"
+    "add-custom-html-before-body-end": "Add Custom HTML before </body> end",
+    "error-undefined": "Something went wrong",
+    "error-ldap-login": "An error occurred while trying to login"
 }

+ 3 - 1
i18n/fr.i18n.json

@@ -619,5 +619,7 @@
     "layout": "Interface",
     "hide-logo": "Cacher le logo",
     "add-custom-html-after-body-start": "Add Custom HTML after <body> start",
-    "add-custom-html-before-body-end": "Add Custom HTML before </body> end"
+    "add-custom-html-before-body-end": "Add Custom HTML before </body> end",
+    "error-undefined": "Une erreur inconnue s'est produite",
+    "error-ldap-login": "Une erreur s'est produite lors de la tentative de connexion"
 }