Explorar o código

add logs to textarea

Yuki Takei %!s(int64=7) %!d(string=hai) anos
pai
achega
4974e2e744
Modificáronse 1 ficheiros con 29 adicións e 3 borrados
  1. 29 3
      lib/views/widget/passport/ldap-association-tester.html

+ 29 - 3
lib/views/widget/passport/ldap-association-tester.html

@@ -14,12 +14,18 @@
       </div>
     </div>
 
-    <div class="form-group">
-      <button type="button" class="btn btn-default col-xs-offset-5 col-xs-2" onclick="testLdapCredentials()">{{ t('Test') }}</button>
-    </div>
 
   </fieldset>
 
+  <fieldset>
+    <h5>Logs</h5>
+    <textarea id="taLogs" class="col-xs-12" rows="4" readonly></textarea>
+  </fieldset>
+
+  <fieldset class="mt-4">
+    <button type="button" class="btn btn-default col-xs-offset-5 col-xs-2" onclick="testLdapCredentials()">{{ t('Test') }}</button>
+  </fieldset>
+
   <script>
     /**
      * test association (ajax)
@@ -44,6 +50,14 @@
           }, 5000);
         }
       }
+      /**
+       * add logs
+       */
+      function addLogs(formId, log) {
+        const textarea = $(`#${formId} #taLogs`);
+        const newLog = `${new Date()} - ${log}\n\n`;
+        textarea.val(`${newLog}${textarea.val()}`);
+      }
 
       var $form = $('#formTestLdapCredentials');
       var $action = '/_api/login/testLdap';
@@ -59,6 +73,18 @@
           else {
             showMessage($id, data.message, data.status);
           }
+
+          if (data.err) {
+            addLogs($id, data.err);
+          }
+          if (data.ldapConfiguration) {
+            const prettified = JSON.stringify(data.ldapConfiguration.server, undefined, 4);
+            addLogs($id, `LDAP Configuration : ${prettified}`);
+          }
+          if (data.ldapAccountInfo) {
+            const prettified = JSON.stringify(data.ldapAccountInfo, undefined, 4);
+            addLogs($id, `Retrieved LDAP Account : ${prettified}`);
+          }
         })
         .fail(function() {
           showMessage($id, 'エラーが発生しました', 'danger');