make nagios default to (select a controller)
[plstackapi.git] / planetstack / core / dashboard / views / home.py
index c0acfdf..3084c0e 100644 (file)
@@ -75,34 +75,44 @@ class DashboardDynamicView(TemplateView):
             dashboards.append(customize[0])
 
         for i,view in enumerate(dashboards):
+            # don't display disabled dashboards
+            if (not view.enabled):
+                continue
             body = body + '<li><a href="#dashtab-%d">%s</a></li>\n' % (i, view.name)
 
         body = body + "</ul>\n"
 
         for i,view in enumerate(dashboards):
+            # don't display disabled dashboards
+            if (not view.enabled):
+                continue
+
             url = view.url
             body = body + '<div id="dashtab-%d">\n' % i
             if (view.controllers.all().count()>0):
-                body = body + '<select id="dashselect-%d">' % i;
-                for j,controllerdashboard in enumerate(view.controllerdashboards.all()):
+                body = body + 'Controller: <select id="dashselect-%d">' % i;
+                body = body + '<option value="None">(select a controller)</option>';
+                for j,controllerdashboard in enumerate(view.controllerdashboardviews.all()):
                     body = body + '<option value="%d">%s</option>' % (j, controllerdashboard.controller.name)
-                body = body + '</select>'
+                body = body + '</select><hr>'
+
+                for j,controllerdashboard in enumerate(view.controllerdashboardviews.all()):
+                    body = body + '<script type="text/template" id="dashtemplate-%d-%d">\n%s\n</script>\n' % (i,j, self.embedDashboard(controllerdashboard.url));
 
-                for j,controllerdashboard in enumerate(view.controllerdashboards.all()):
-                    body = body + '<div id="dashcontent-%d-%d" class="dashcontent-%d">\n' % (i,j,i)
-                    body = body + self.embedDashboard(controllerdashboard.url);
-                    body = body + '</div>\n';
+                body = body + '<div id="dashcontent-%d" class="dashcontent"></div>\n' % i
 
                 body = body + """<script>
-                                 $("#dashselect-%d").change(function() { console.log("change!");
+                                 $("#dashselect-%d").change(function() {
                                      v=$("#dashselect-%d").val();
-                                     $(".dashcontent-%d").hide();
-                                     $("#dashcontent-%d-" + v).show();
+                                     if (v=="None") {
+                                         $("#dashcontent-%d").html("");
+                                         return;
+                                     }
+                                     $("#dashcontent-%d").html( $("#dashtemplate-%d-" + v).html() );
                                  });
-                                 $(".dashcontent-%d").hide();
-                                 $("#dashcontent-%d-0").show();
+                                 //$("#dashcontent-%d").html( $("#dashtemplate-%d-0").html() );
                                  </script>
-                              """ % (i,i,i,i,i,i);
+                              """ % (i,i,i,i,i,i,i);
             else:
                 body = body + self.embedDashboard(url)
             body = body + '</div>\n'