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)
))
- # END OF JORDAN's CODE
-
-#old# main_plugin = Stack (
-#old# page=page,
-#old# title="Slice view for %s"%slicename,
-#old# domid='thestack',
-#old# togglable=False,
-#old# sons=[
-#old# Raw (page=page,togglable=False, toggled=True,html="<h2> Slice page for %s</h2>"%slicename),
-#old# Messages (
-#old# page=page,
-#old# title="Runtime messages for slice %s"%slicename,
-#old# domid="msgs-pre",
-#old# levels="ALL",
-#old# ),
-#old# Tabs (
-#old# page=page,
-#old# title="2 tabs : w/ and w/o checkboxes",
-#old# domid='thetabs',
-#old# # active_domid='checkboxes',
-#old# active_domid='gmap',
-#old# sons=[
-#old# Hazelnut (
-#old# page=page,
-#old# title='a sample and simple hazelnut',
-#old# domid='simple',
-#old# # tab's sons preferably turn this off
-#old# togglable=False,
-#old# # this is the query at the core of the slice list
-#old# query=main_query,
-#old# ),
-#old# Hazelnut (
-#old# page=page,
-#old# title='with checkboxes',
-#old# domid='checkboxes',
-#old# # tab's sons preferably turn this off
-#old# togglable=False,
-#old# # this is the query at the core of the slice list
-#old# query=main_query,
-#old# checkboxes=True,
-#old# datatables_options = {
-#old# # for now we turn off sorting on the checkboxes columns this way
-#old# # this of course should be automatic in hazelnut
-#old# 'aoColumns' : [ None, None, None, None, {'bSortable': False} ],
-#old# 'iDisplayLength' : 25,
-#old# 'bLengthChange' : True,
-#old# },
-#old# ),
-#old# GoogleMap (
-#old# page=page,
-#old# title='geographic view',
-#old# domid='gmap',
-#old# # tab's sons preferably turn this off
-#old# togglable=False,
-#old# query=main_query,
-#old# # center on Paris
-#old# latitude=49.,
-#old# longitude=2.2,
-#old# zoom=3,
-#old# ),
-#old# Raw (
-#old## SensLabMap (
-#old# page=page,
-#old# title='3D view (disabled)',
-#old# domid='smap',
-#old## # tab's sons preferably turn this off
-#old# togglable=False,
-#old## query=main_query,
-#old# html="""<p class='well'>
-#old#Thierry: I am commeting off the use of <button class="btn btn-danger">SensLabMap</button> which,
-#old# although rudimentarily ported to the django framework,
-#old#causes a weird behaviour especially wrt scrolling.
-#old#On my Mac <button class="btn btn-warning"> I cannot use the mouse to scroll</button> any longer
-#old#if I keep this active, so for now it's disabled
-#old#</p>""",
-#old# ),
-#old# ]),
-#old# Hazelnut (
-#old# page=page,
-#old# title='a hazelnut not in tabs',
-#old# domid='standalone',
-#old# # this is the query at the core of the slice list
-#old# query=main_query,
-#old# columns=['hrn','hostname'],
-#old# ),
-#old# # you don't *have to* set a domid, but if you plan on using toggled=persistent then it's required
-#old# # because domid is the key for storing toggle status in the browser
-#old# QueryCode (
-#old# page=page,
-#old# title='xmlrpc code (toggled=False)',
-#old# query=main_query,
-#old## domid='xmlrpc',
-#old# toggled=False,
-#old# ),
-#old# QuickFilter (
-#old# page=page,
-#old# title="QuickFilter - requires metadata (toggled=False)",
-#old# criterias=quickfilter_criterias,
-#old# domid='filters',
-#old# toggled=False,
-#old# ),
-#old# Messages (
-#old# page=page,
-#old# title="Runtime messages (again)",
-#old# domid="msgs-post",
-#old# )
-#old# ])
# variables that will get passed to the view-unfold1.html template
template_env = {}