From 54e8a4099ccf8e799e7eb65e093d78275bfa2850 Mon Sep 17 00:00:00 2001 From: Loic Baron Date: Tue, 17 Jun 2014 08:07:18 -0500 Subject: [PATCH] List of testbeds based on the resources all_query --- plugins/testbeds/__init__.py | 5 +---- plugins/testbeds/static/js/testbeds.js | 27 ++++++++++++++++---------- portal/sliceresourceview.py | 6 +++--- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/plugins/testbeds/__init__.py b/plugins/testbeds/__init__.py index 6b2b89d9..a7dd15e9 100644 --- a/plugins/testbeds/__init__.py +++ b/plugins/testbeds/__init__.py @@ -7,9 +7,6 @@ class TestbedsPlugin(Plugin): # Until we have a proper way to access queries in Python self.query = query - self.query_network = query_network - self.query_network_uuid = query_network.query_uuid if query_network else None - self.query_all = query_all self.query_all_uuid = query_all.query_uuid if query_all else None @@ -31,7 +28,7 @@ class TestbedsPlugin(Plugin): # query_uuid will pass self.query results to the javascript # and will be available as "record" in : # on_new_record: function(record) - return ['plugin_uuid', 'domid', 'query_uuid', 'query_all_uuid', 'query_network_uuid'] + return ['plugin_uuid', 'domid', 'query_uuid', 'query_all_uuid'] def export_json_settings (self): return True diff --git a/plugins/testbeds/static/js/testbeds.js b/plugins/testbeds/static/js/testbeds.js index b9771270..5f990b99 100644 --- a/plugins/testbeds/static/js/testbeds.js +++ b/plugins/testbeds/static/js/testbeds.js @@ -29,7 +29,7 @@ /* Member variables */ this.filters = Array(); - + this.testbeds = Array(); /* Plugin events */ /* Setup query and record handlers */ @@ -39,7 +39,6 @@ // Some can be less efficient this.listen_query(options.query_uuid); this.listen_query(options.query_all_uuid, 'all'); - this.listen_query(options.query_network_uuid, 'network'); /* GUI setup and event binding */ // call function @@ -114,17 +113,25 @@ // ... be sure to list all events here /* RECORD HANDLERS */ - on_network_new_record: function(record) + on_all_new_record: function(record) { - row = ''; - row += ''+record["platform"]+''; - //row += ''+record["network_hrn"]+''; - row += '

'+record["network_hrn"]+'

'; - $('#testbeds-filter').append(row); + var self = this; + // If the resource has a network_hrn + if(record["network_hrn"]!="None" && record["network_hrn"]!="" && record["network_hrn"]!=null){ + // If this network_hrn is not listed yet + if(jQuery.inArray(record["network_hrn"],self.testbeds)==-1){ + row = ''; + //row += ''+record["platform"]+''; + //row += ''+record["network_hrn"]+''; + row += '

'+record["network_hrn"]+'

'; + $('#testbeds-filter').append(row); + self.testbeds.push(record["network_hrn"]); + } + } }, - /* When the network query is done, add the click event to the elements */ - on_network_query_done: function() { + /* When the query is done, add the click event to the elements */ + on_all_query_done: function() { var self = this; console.log('query network DONE'); $("[id^='testbeds-filter_']").on('click',function(e) { diff --git a/portal/sliceresourceview.py b/portal/sliceresourceview.py index 1ea6eada..5b8ce0f7 100644 --- a/portal/sliceresourceview.py +++ b/portal/sliceresourceview.py @@ -202,8 +202,8 @@ class SliceResourceView (LoginRequiredView, ThemeView): network_md = metadata.details_by_object('network') network_fields = [column['name'] for column in network_md['column']] - query_network = Query.get('network').select(network_fields) - page.enqueue_query(query_network) + #query_network = Query.get('network').select(network_fields) + #page.enqueue_query(query_network) filter_testbeds = TestbedsPlugin( page = page, @@ -211,7 +211,7 @@ class SliceResourceView (LoginRequiredView, ThemeView): title = 'Filter by testbeds', query = sq_resource, query_all = query_resource_all, - query_network = query_network, + #query_network = query_network, init_key = "network_hrn", checkboxes = True, datatables_options = { -- 2.43.0