X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsliceview.py;h=ffd4c4241696ded7586e49715aea585555db5a7e;hb=934d90ccc168e296e7c10f81c1d468495088c725;hp=35ab810218602efda3eb99a31ee914b84565ffa9;hpb=b45df9e952ec69d293fe0e4963e040d2a21c07b3;p=myslice.git diff --git a/portal/sliceview.py b/portal/sliceview.py index 35ab8102..ffd4c424 100644 --- a/portal/sliceview.py +++ b/portal/sliceview.py @@ -15,8 +15,11 @@ from plugins.querytable import QueryTable from plugins.queryupdater import QueryUpdater from plugins.googlemap import GoogleMap from plugins.senslabmap import SensLabMap +from plugins.scheduler import Scheduler from plugins.querycode import QueryCode -from plugins.query_editor import QueryEditor +# stay away from query editor for now as it seems to make things go very slow +# see https://lists.myslice.info/pipermail/devel-myslice/2013-December/000221.html +#from plugins.query_editor import QueryEditor from plugins.active_filters import ActiveFilters from plugins.quickfilter import QuickFilter from plugins.messages import Messages @@ -30,6 +33,9 @@ tmp_default_slice='ple.upmc.myslicedemo' #do_query_users=True do_query_users=False +#do_query_leases=True +do_query_leases=False + insert_messages=False #insert_messages=True @@ -42,6 +48,7 @@ class SliceView (LoginRequiredAutoLogoutView): page.add_js_files ( [ "js/common.functions.js" ] ) page.add_js_chunks ('$(function() { messages.debug("sliceview: jQuery version " + $.fn.jquery); });') page.add_js_chunks ('$(function() { messages.debug("sliceview: users turned %s"); });'%("on" if do_query_users else "off")) + page.add_js_chunks ('$(function() { messages.debug("sliceview: leases turned %s"); });'%("on" if do_query_leases else "off")) config=Config() page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(config.manifold_url())) page.expose_js_metadata() @@ -59,10 +66,13 @@ class SliceView (LoginRequiredAutoLogoutView): 'slice_hrn', 'resource.hrn', 'resource.hostname', 'resource.type', 'resource.network_hrn', - #'lease.urn', + 'lease.urn', 'user.user_hrn', #'application.measurement_point.counter' ) + # for internal use in the querytable plugin; + # needs to be a unique column present for each returned record + main_query_key = 'hrn' query_resource_all = Query.get('resource').select(resource_fields) if do_query_users: @@ -121,13 +131,14 @@ class SliceView (LoginRequiredAutoLogoutView): # -------------------------------------------------------------------------- # Filter Resources - filter_query_editor = QueryEditor( - page = page, - query = sq_resource, - query_all = query_resource_all, - title = "Select Columns", - domid = 'select-columns', - ) +# see above the warning about performance issues with this plugin +# filter_query_editor = QueryEditor( +# page = page, +# query = sq_resource, +# query_all = query_resource_all, +# title = "Select Columns", +# domid = 'select-columns', +# ) filter_active_filters = ActiveFilters( page = page, query = sq_resource, @@ -137,7 +148,9 @@ class SliceView (LoginRequiredAutoLogoutView): page = page, title = 'Filter Resources', domid = 'filters', - sons = [filter_query_editor, filter_active_filters], + sons = [ +# filter_query_editor, + filter_active_filters], togglable = True, toggled = 'persistent', outline_complete = True, @@ -179,6 +192,8 @@ class SliceView (LoginRequiredAutoLogoutView): # this is the query at the core of the slice list query = sq_resource, query_all = query_resource_all, + # safer to use 'hrn' as the internal unique key for this plugin + id_key = main_query_key, checkboxes = True, datatables_options = { 'iDisplayLength': 25, @@ -187,18 +202,38 @@ class SliceView (LoginRequiredAutoLogoutView): }, ) + if do_query_leases: + resources_as_scheduler = Scheduler( + page = page, + title = 'Scheduler', + domid = 'scheduler', + query = sq_resource, + query_all_resources = query_resource_all, + query_lease = sq_lease, + ) + # with the new 'Filter' stuff on top, no need for anything but the querytable resources_as_list_area = resources_as_list + resources_sons = [ + resources_as_gmap, + resources_as_3dmap, + resources_as_scheduler, + resources_as_list_area, + ] if do_query_leases else [ + resources_as_gmap, + resources_as_3dmap, + resources_as_list_area, + ] + resources_area = Tabs ( page=page, domid="resources", togglable=True, title="Resources", outline_complete=True, - sons=[ resources_as_gmap, - resources_as_3dmap, - resources_as_list_area, ], + sons= resources_sons, active_domid = 'resources-map', + persistent_active=True, ) main_stack.insert (resources_area)