X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsliceview.py;h=e28ef01865664b697609c3072a783a69beef3806;hb=f0f76a08ca9dc5d208e1521a73ba1ba60a3c0065;hp=318ee347216c7822358b69c40ae437953ab1ebda;hpb=d9bbe0a36624c6fe558c05307964be1b3ed4e3b1;p=myslice.git diff --git a/portal/sliceview.py b/portal/sliceview.py old mode 100644 new mode 100755 index 318ee347..e28ef018 --- a/portal/sliceview.py +++ b/portal/sliceview.py @@ -18,18 +18,19 @@ from plugins.querygrid import QueryGrid from plugins.queryupdater import QueryUpdater from plugins.googlemap import GoogleMap from plugins.senslabmap import SensLabMap -from plugins.scheduler import Scheduler +#from plugins.scheduler import Scheduler +from plugins.scheduler2 import Scheduler2 from plugins.querycode import QueryCode # Thierry # 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.query_editor import QueryEditor from plugins.active_filters import ActiveFilters from plugins.quickfilter import QuickFilter from plugins.messages import Messages from plugins.slicestat import SliceStat -from myslice.config import Config +from myslice.configengine import ConfigEngine tmp_default_slice='ple.upmc.myslicedemo' @@ -56,10 +57,7 @@ class SliceView (LoginRequiredAutoLogoutView): 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() + page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(ConfigEngine().manifold_url())) metadata = page.get_metadata() resource_md = metadata.details_by_object('resource') @@ -164,13 +162,13 @@ class SliceView (LoginRequiredAutoLogoutView): # Filter Resources # turn off for now -- see above -# filter_query_editor = QueryEditor( -# page = page, -# query = sq_resource, -# query_all = query_resource_all, -# title = "Select Columns", -# domid = 'select-columns', -# ) + 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, @@ -180,7 +178,7 @@ class SliceView (LoginRequiredAutoLogoutView): page = page, title = 'Filter Resources', domid = 'filters', - sons = [# filter_query_editor, + sons = [filter_query_editor, filter_active_filters], togglable = True, toggled = 'persistent', @@ -201,7 +199,7 @@ class SliceView (LoginRequiredAutoLogoutView): query = sq_resource, query_all = query_resource_all, # this key is the one issued by google - googlemap_api_key = Config().googlemap_api_key(), + googlemap_api_key = ConfigEngine().googlemap_api_key(), # the key to use at init-time init_key = main_query_init_key, checkboxes = True, @@ -226,7 +224,6 @@ class SliceView (LoginRequiredAutoLogoutView): # this is the query at the core of the slice list query = sq_resource, query_all = query_resource_all, - # use 'hrn' as the internal unique key for this plugin init_key = main_query_init_key, checkboxes = True, datatables_options = { @@ -244,21 +241,33 @@ class SliceView (LoginRequiredAutoLogoutView): # this is the query at the core of the slice list query = sq_resource, query_all = query_resource_all, - # use 'hrn' as the internal unique key for this plugin - # xxx todo on querygrid as well - # init_key = main_query_init_key, + init_key = main_query_init_key, checkboxes = True, ) - 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, - ) + + + #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, + + # ) + + resources_as_scheduler2 = Scheduler2( + page = page, + domid = 'scheduler', + title = 'Scheduler', + # this is the query at the core of the slice list + 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 @@ -266,12 +275,13 @@ class SliceView (LoginRequiredAutoLogoutView): resources_sons = [ resources_as_gmap, resources_as_3dmap, - resources_as_scheduler, + resources_as_scheduler2, resources_as_list_area, ] if do_query_leases else [ resources_as_gmap, resources_as_3dmap, resources_as_list_area, + resources_as_scheduler2, ] if insert_grid: resources_sons.append(resources_as_grid) @@ -282,7 +292,8 @@ class SliceView (LoginRequiredAutoLogoutView): title="Resources", outline_complete=True, sons= resources_sons, - active_domid = 'resources-map', + + active_domid = 'scheduler', persistent_active=True, ) main_stack.insert (resources_area) @@ -366,13 +377,14 @@ class SliceView (LoginRequiredAutoLogoutView): ) tab_measurements = Tabs ( page=page, - domid="measurements", - togglable=True, - toggled = False, - title="Measurements", + domid = "measurements", + togglable = True, + toggled = 'persistent', + title = "Measurements", outline_complete=True, - sons=[ measurements_stats_cpu, measurements_stats_mem, measurements_stats_asb, measurements_stats_arb ], - active_domid = 'measurements_stats_cpu', + sons = [ measurements_stats_cpu, measurements_stats_mem, measurements_stats_asb, measurements_stats_arb ], + active_domid = 'resources-stats-cpu', + persistent_active = True, ) main_stack.insert (tab_measurements) @@ -434,15 +446,10 @@ class SliceView (LoginRequiredAutoLogoutView): template_env [ 'username' ] = the_user (request) # don't forget to run the requests - page.expose_queries () - - # xxx create another plugin with the same query and a different layout (with_datatables) - # show that it worls as expected, one single api call to backend and 2 refreshed views - + page.expose_js_metadata() # the prelude object in page contains a summary of the requirements() for all plugins # define {js,css}_{files,chunks} - prelude_env = page.prelude_env() - template_env.update(prelude_env) - result=render_to_response ('view-unfold1.html',template_env, + template_env.update(page.prelude_env()) + + return render_to_response ('view-unfold1.html',template_env, context_instance=RequestContext(request)) - return result