X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=trash%2Fsliceview.py;h=a0790c0e5461ec6c15a702691e074d1f44b7f1af;hb=a953233a34580bc72aa8b6b03c017ff94f9eee7d;hp=94b539c1b70331dd30960a4452dfb4147e5547dc;hpb=d4e1a95cb427ce0960874b040532edbf0ee6b629;p=myslice.git diff --git a/trash/sliceview.py b/trash/sliceview.py index 94b539c1..a0790c0e 100644 --- a/trash/sliceview.py +++ b/trash/sliceview.py @@ -21,6 +21,7 @@ from plugins.googlemap.googlemap import GoogleMap from plugins.senslabmap.senslabmap import SensLabMap from plugins.querycode.querycode import QueryCode from plugins.query_editor import QueryEditor +from plugins.active_filters import ActiveFilters from plugins.quickfilter.quickfilter import QuickFilter from plugins.messages.messages import Messages from plugins.updater.updater import Updater @@ -53,24 +54,21 @@ def _slice_view (request, slicename): page = Page(request) page.expose_js_metadata() + metadata = page.get_metadata() + resource_md = metadata.details_by_object('resource') + resource_fields = [column['name'] for column in resource_md['column']] + # TODO The query to run is embedded in the URL main_query = Query.get('slice').filter_by('slice_hrn', '=', slicename) - query_resource_all = Query.get('resource').select('resource_hrn', 'hostname', 'type', 'network_hrn', 'latitude', 'longitude') - - # Get default fields from metadata unless specified - if not main_query.fields: - metadata = page.get_metadata() - md_fields = metadata.details_by_object('slice') - if debug: - print "METADATA", md_fields - # TODO Get default fields - main_query.select( - 'slice_hrn', - 'resource.resource_hrn', 'resource.hostname', 'resource.type', 'resource.network_hrn', - #'lease.urn', - 'user.user_hrn', -# 'application.measurement_point.counter' - ) + main_query.select( + 'slice_hrn', + 'resource.resource_hrn', 'resource.hostname', 'resource.type', 'resource.network_hrn', + #'lease.urn', + 'user.user_hrn', + #'application.measurement_point.counter' + ) + + query_resource_all = Query.get('resource').select(resource_fields) aq = AnalyzedQuery(main_query, metadata=metadata) page.enqueue_query(main_query, analyzed_query=aq) @@ -134,6 +132,12 @@ def _slice_view (request, slicename): ) stack_resources.insert(resource_query_editor) + resource_active_filters = ActiveFilters( + page = page, + query = sq_resource, + ) + stack_resources.insert(resource_active_filters) + # -------------------------------------------------------------------------- # Different displays = DataTables + GoogleMaps # @@ -143,13 +147,13 @@ def _slice_view (request, slicename): ) tab_resource_plugins.insert(Hazelnut( - page = page, - title = 'List', - domid = 'checkboxes', + page = page, + title = 'List', + domid = 'checkboxes', # this is the query at the core of the slice list - query = sq_resource, - query_all_uuid = query_resource_all.query_uuid, - checkboxes = True, + query = sq_resource, + query_all = query_resource_all, + checkboxes = True, datatables_options = { # for now we turn off sorting on the checkboxes columns this way # this of course should be automatic in hazelnut @@ -160,18 +164,18 @@ def _slice_view (request, slicename): )) tab_resource_plugins.insert(GoogleMap( - page = page, - title = 'Geographic view', - domid = 'gmap', + page = page, + title = 'Geographic view', + domid = 'gmap', # tab's sons preferably turn this off - togglable = False, - query = sq_resource, - query_all_uuid = query_resource_all.query_uuid, - checkboxes = True, + togglable = False, + query = sq_resource, + query_all = query_resource_all, + checkboxes = True, # center on Paris - latitude = 49., - longitude = 2.2, - zoom = 3, + latitude = 49., + longitude = 2.2, + zoom = 3, )) stack_resources.insert(tab_resource_plugins)