show googlemap AND 3dmap and list view
[myslice.git] / portal / sliceview.py
index 9d335f4..38c90fc 100644 (file)
@@ -11,8 +11,8 @@ from ui.topmenu                      import topmenu_items, the_user
 from plugins.raw                     import Raw
 from plugins.stack                   import Stack
 from plugins.tabs                    import Tabs
-from plugins.hazelnut                import Hazelnut 
-from plugins.resources_selected      import ResourcesSelected
+from plugins.querytable              import QueryTable 
+from plugins.queryupdater            import QueryUpdater
 from plugins.googlemap               import GoogleMap
 from plugins.senslabmap              import SensLabMap
 from plugins.querycode               import QueryCode
@@ -20,13 +20,15 @@ from plugins.query_editor            import QueryEditor
 from plugins.active_filters          import ActiveFilters
 from plugins.quickfilter             import QuickFilter
 from plugins.messages                import Messages
+from plugins.slicestat               import SliceStat
 
 from myslice.config                  import Config
 
 tmp_default_slice='ple.upmc.myslicedemo'
 
 # temporary : turn off the users part to speed things up
-do_query_users=True
+#do_query_users=True
+do_query_users=False
 
 class SliceView (LoginRequiredAutoLogoutView):
 
@@ -37,7 +39,8 @@ class SliceView (LoginRequiredAutoLogoutView):
         page.add_js_files  ( [ "js/common.functions.js" ] )
         page.add_js_chunks ('$(function() { messages.debug("sliceview: jQuery version " + $.fn.jquery); });')
         page.add_js_chunks ('$(function() { messages.debug("sliceview: users turned %s"); });'%("on" if do_query_users else "off"))
-        page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(Config.manifold_url()))
+        config=Config()
+        page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(config.manifold_url()))
         page.expose_js_metadata()
     
         metadata = page.get_metadata()
@@ -99,9 +102,9 @@ class SliceView (LoginRequiredAutoLogoutView):
         )
     
         # --------------------------------------------------------------------------
-        # ResourcesSelected (Pending Operations)
+        # QueryUpdater (Pending Operations)
 
-        main_stack.insert(ResourcesSelected(
+        main_stack.insert(QueryUpdater(
             page                = page,
             title               = 'Pending operations',
             query               = main_query,
@@ -142,7 +145,7 @@ class SliceView (LoginRequiredAutoLogoutView):
         # RESOURCES
         # the resources part is made of a Tabs (Geographic, List), 
 
-        resources_as_map = GoogleMap(
+        resources_as_gmap = GoogleMap(
             page       = page,
             title      = 'Geographic view',
             domid      = 'resources-map',
@@ -157,7 +160,15 @@ class SliceView (LoginRequiredAutoLogoutView):
             zoom       = 4,
         )
 
-        resources_as_list = Hazelnut( 
+        resources_as_3dmap = SensLabMap(
+            page       = page,
+            title      = '3D Map',
+            domid      = 'senslabmap',
+            query      = sq_resource,
+            query_all  = query_resource_all,
+        )
+
+        resources_as_list = QueryTable( 
             page       = page,
             domid      = 'resources-list',
             title      = 'List view',
@@ -172,7 +183,7 @@ class SliceView (LoginRequiredAutoLogoutView):
                 },
             )
 
-        # with the new 'Filter' stuff on top, no need for anything but the hazelnut
+       # with the new 'Filter' stuff on top, no need for anything but the querytable
         resources_as_list_area = resources_as_list 
 
         resources_area = Tabs ( page=page, 
@@ -180,12 +191,13 @@ class SliceView (LoginRequiredAutoLogoutView):
                                 togglable=True,
                                 title="Resources",
                                 outline_complete=True,
-                                sons=[ resources_as_map, resources_as_list_area, ],
+                                sons=[ resources_as_gmap, 
+                                       resources_as_3dmap,
+                                       resources_as_list_area, ],
                                 active_domid = 'resources-map',
                                 )
         main_stack.insert (resources_area)
 
-
         # --------------------------------------------------------------------------
         # USERS
     
@@ -200,7 +212,7 @@ class SliceView (LoginRequiredAutoLogoutView):
                 )
             main_stack.insert(tab_users)
     
-            tab_users.insert(Hazelnut
+            tab_users.insert(QueryTable
                 page        = page,
                 title       = 'Users List',
                 domid       = 'users-list',
@@ -216,9 +228,65 @@ class SliceView (LoginRequiredAutoLogoutView):
                     'bAutoWidth'     : True,
                 },
             ))
+
 # DEMO    
         # --------------------------------------------------------------------------
         # MEASUREMENTS
+        measurements_stats_cpu = SliceStat(
+            title = "CPU Usage",
+            domid = 'resources-stats-cpu',
+            page  = page,
+            stats = 'slice',
+            key   = 'hrn',
+            query = 'none',
+            slicename = slicename,
+            o = 'cpu'
+        )
+        
+        measurements_stats_mem = SliceStat(
+            title = "Memory Usage",
+            domid = 'resources-stats-mem',
+            page  = page,
+            stats = 'slice',
+            key   = 'hrn',
+            query = 'none',
+            slicename = slicename,
+            o = 'mem'
+        )
+        
+        measurements_stats_asb = SliceStat(
+            title = "Traffic Sent",
+            domid = 'resources-stats-asb',
+            page  = page,
+            stats = 'slice',
+            key   = 'hrn',
+            query = 'none',
+            slicename = slicename,
+            o = 'asb'
+        )
+        
+        measurements_stats_arb = SliceStat(
+            title = "Traffic Received",
+            domid = 'resources-stats-arb',
+            page  = page,
+            stats = 'slice',
+            key   = 'hrn',
+            query = 'none',
+            slicename = slicename,
+            o = 'arb'
+        )
+
+        tab_measurements = Tabs ( page=page,
+                                domid="measurements",
+                                togglable=True,
+                                toggled  = False,
+                                title="Measurements",
+                                outline_complete=True,
+                                sons=[ measurements_stats_cpu, measurements_stats_mem, measurements_stats_asb, measurements_stats_arb ],
+                                active_domid = 'measurements_stats_cpu',
+                                )
+        main_stack.insert (tab_measurements)
+        
 #        tab_measurements = Tabs (
 #            page                = page,
 #            active_domid        = 'measurements-list',
@@ -229,7 +297,7 @@ class SliceView (LoginRequiredAutoLogoutView):
 #        )
 #        main_stack.insert(tab_measurements)
 #    
-#        tab_measurements.insert(Hazelnut
+#        tab_measurements.insert(QueryTable
 #            page        = page,
 #            title       = 'Measurements',
 #            domid       = 'measurements-list',
@@ -266,8 +334,8 @@ class SliceView (LoginRequiredAutoLogoutView):
         # variables that will get passed to the view-unfold1.html template
         template_env = {}
         
-        # define 'unfold1_main' to the template engine - the main contents
-        template_env [ 'unfold1_main' ] = main_stack.render(request)
+        # define 'unfold_main' to the template engine - the main contents
+        template_env [ 'unfold_main' ] = main_stack.render(request)
     
         # more general variables expected in the template
         template_env [ 'title' ] = '%(slicename)s'%locals()