Auto-redirect if logged in (at login page). Auto-redirect if logged-out.
authorJeremy Tan <[email protected]>
Thu, 3 Oct 2013 13:35:05 +0000 (21:35 +0800)
committerJeremy Tan <[email protected]>
Thu, 3 Oct 2013 13:35:05 +0000 (21:35 +0800)
testing/MCTXWeb/public_html/index.html
testing/MCTXWeb/public_html/login.html
testing/MCTXWeb/public_html/static/mctx.gui.js

index 5b0ddff..7953e06 100644 (file)
@@ -14,6 +14,7 @@
     <link rel="stylesheet" type="text/css" href="static/style.css">
     <link rel="stylesheet" type="text/css" href="static/nav-menu.css">
     <script type="text/javascript">
+      //runBeforeLoad();
       $(document).ready(function () {
         //$("#menu-container").populateNavbar();
         $("#login").submit(function () {
index 493a4e3..caa6185 100644 (file)
@@ -14,6 +14,8 @@
     <link rel="stylesheet" type="text/css" href="static/style.css">
     <link rel="stylesheet" type="text/css" href="static/nav-menu.css">
     <script type="text/javascript">
+      runBeforeLoad(true);
+      
       $(document).ready(function () {
         $("#login").submit(function () {
           $("#login").login();
index c57babc..089e93c 100644 (file)
@@ -37,6 +37,14 @@ mctx.strain_gauges = {};
 mctx.strain_gauges.ids = [0, 1, 2, 3];
 mctx.strain_gauges.time_limit = 20;
 
+function debugLog (msg) {
+  if (typeof console === "undefined" || typeof console.log === "undefined") {
+    alert(msg);
+  } else {
+    console.log(msg);
+  }
+}
+
 /**
  * Writes the current date to wherever it's called.
  */
@@ -44,6 +52,28 @@ function getDate(){
        document.write((new Date()).toDateString());
 }
 
+function runBeforeLoad(isLoginPage) {
+  $.ajax({
+    url : mctx.api + "identify"
+  }).done(function (data) {
+    if (data.logged_in && isLoginPage) {
+        window.location = mctx.location;
+    } else if (!data.logged_in && !isLoginPage) {
+      //Note: this only clears the nameless cookie
+      document.cookie = ""; 
+      window.location = mctx.location + "login.html";
+    } else {
+      mctx.friendlyName = data.friendly_name;
+    }
+  }).fail(function (jqHXR) {
+    if (!isLoginPage) {
+      window.location = mctx.location + "login.html";
+    } else {
+      debugLog("Failed to ident server. Is API running?")
+    }
+  });
+}
+
 /**
  * Populates a submenu of the navigation bar
  * @param {string} header The header

UCC git Repository :: git.ucc.asn.au