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
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)
sons=[],
)
+ resource_query_editor = QueryEditor(
+ page = page,
+ query = sq_resource,
+ )
+ 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
#
)
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
))
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)