Testbeds filters list added to slice resource view
authorLoic Baron <loic.baron@lip6.fr>
Tue, 18 Mar 2014 18:19:46 +0000 (19:19 +0100)
committerLoic Baron <loic.baron@lip6.fr>
Tue, 18 Mar 2014 18:19:46 +0000 (19:19 +0100)
portal/sliceresourceview.py

index 520a72e..afd9531 100644 (file)
@@ -11,13 +11,12 @@ from django.http import HttpResponse
 from django.shortcuts import render
 
 from unfold.page                     import Page
 from django.shortcuts import render
 
 from unfold.page                     import Page
-from manifold.core.query             import Query, AnalyzedQuery
-from manifoldapi.manifoldapi         import execute_query
 
 from myslice.configengine            import ConfigEngine
 from plugins.querytable              import QueryTable
 from plugins.googlemap               import GoogleMap
 from plugins.queryupdater            import QueryUpdater
 
 from myslice.configengine            import ConfigEngine
 from plugins.querytable              import QueryTable
 from plugins.googlemap               import GoogleMap
 from plugins.queryupdater            import QueryUpdater
+from plugins.testbeds                import TestbedsPlugin
 
 from theme import ThemeView
 
 
 from theme import ThemeView
 
@@ -64,6 +63,10 @@ class SliceResourceView (LoginRequiredView, ThemeView):
         sq_resource    = aq.subquery('resource')
         sq_lease       = aq.subquery('lease')
 
         sq_resource    = aq.subquery('resource')
         sq_lease       = aq.subquery('lease')
 
+        # --------------------------------------------------------------------------
+        # RESOURCES
+        # resources as a list using datatable plugin
         list_resources = QueryTable(
             page       = page,
             domid      = 'resources-list',
         list_resources = QueryTable(
             page       = page,
             domid      = 'resources-list',
@@ -116,8 +119,36 @@ class SliceResourceView (LoginRequiredView, ThemeView):
             outline_complete    = True,
         )
 
             outline_complete    = True,
         )
 
+        # --------------------------------------------------------------------------
+        # NETWORKS
+        # testbeds as a list of filters 
+
+        network_md = metadata.details_by_object('network')
+        network_fields = [column['name'] for column in network_md['column']]
+        print "sliceresourceview.py ====> ",network_fields
+
+        query_network = Query.get('network').select(network_fields)
+        page.enqueue_query(query_network)
+
+        filter_testbeds = TestbedsPlugin(
+            page          = page,
+            domid         = 'testbeds-filter',
+            title         = 'Filter by testbeds',
+            query         = sq_resource,
+            query_all     = query_resource_all,
+            query_network = query_network,
+            init_key      = "network_hrn",
+            checkboxes    = True,
+            datatables_options = {
+                'iDisplayLength': 25,
+                'bLengthChange' : True,
+                'bAutoWidth'    : True,
+                },
+        )
+
         template_env = {}
         template_env['list_resources'] = list_resources.render(self.request)
         template_env = {}
         template_env['list_resources'] = list_resources.render(self.request)
+        template_env['filter_testbeds'] = filter_testbeds.render(self.request)
         template_env['map_resources'] = map_resources.render(self.request)
         template_env['pending_resources'] = pending_resources.render(self.request)
         template_env["theme"] = self.theme
         template_env['map_resources'] = map_resources.render(self.request)
         template_env['pending_resources'] = pending_resources.render(self.request)
         template_env["theme"] = self.theme