From c9f1fb66f0f7c22f9c62ff22f3dd441fbaf2c1b0 Mon Sep 17 00:00:00 2001
From: Scott Baker <smbaker@gmail.com>
Date: Wed, 5 Nov 2014 22:12:33 -0800
Subject: [PATCH] add suit navbar link rewriting

---
 .../core/xoslib/static/js/xosAdminSite.js     | 32 +++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/planetstack/core/xoslib/static/js/xosAdminSite.js b/planetstack/core/xoslib/static/js/xosAdminSite.js
index aefe3e1..6fb46a0 100644
--- a/planetstack/core/xoslib/static/js/xosAdminSite.js
+++ b/planetstack/core/xoslib/static/js/xosAdminSite.js
@@ -1,7 +1,16 @@
 OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment'];
 NAV_OBJS = ['deployment', 'site', 'slice', 'user'];
 
-XOSAdminApp = new XOSApplication({logTableId: "#logTable", hideTabsByDefault: true});
+REWRITES = {"/admin/core/deployment/": "#deployments",
+            "/admin/core/site/" : "#sites",
+            "/admin/core/slice/" : "#slices",
+            "/admin/core/user/" : "#users"};
+
+XOSAdminApp = new XOSApplication({
+    logTableId: "#logTable",
+    statusMsgId: "#statusMsg",
+    hideTabsByDefault: true
+});
 
 XOSAdminApp.addRegions({
     navigation: "#navigationPanel",
@@ -101,7 +110,24 @@ XOSAdminApp.initRouter = function() {
     };
 
     XOSAdminApp.Router = new router({ appRoutes: routes, controller: api });
-}
+};
+
+/* rewriteLinks
+
+   Rewrite the links in the suit navbar from django-links to marionette
+   links. This let's us intercept the navbar and make it function within
+   this view rather than jumping back out to a django view.
+*/
+
+XOSAdminApp.rewriteLinks = function () {
+    $("a").each(function() {
+        href=$(this).attr("href");
+        rewrite_href=REWRITES[href];
+        if (rewrite_href) {
+            $(this).attr("href", rewrite_href);
+        }
+    });
+};
 
 XOSAdminApp.on("start", function() {
      XOSAdminApp.buildViews();
@@ -110,6 +136,8 @@ XOSAdminApp.on("start", function() {
 
      XOSAdminApp.updateNavigationPanel();
 
+     XOSAdminApp.rewriteLinks();
+
      if (Backbone.history) {
          console.log("history start");
          Backbone.history.start();
-- 
2.47.0