X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsliceview.py;h=c1dcdbf3d68f6350b9d6cb5d40147ff2e6e885c4;hb=0c12a2033bcb737c05c472cb069a288f44b3872a;hp=4e69bc72230244375e33e4049a93a7fbc38e3f7b;hpb=7c9892a134c74fba4de425609e392a99c7de4d71;p=myslice.git diff --git a/portal/sliceview.py b/portal/sliceview.py index 4e69bc72..c1dcdbf3 100644 --- a/portal/sliceview.py +++ b/portal/sliceview.py @@ -11,8 +11,8 @@ from ui.topmenu import topmenu_items, the_user from plugins.raw import Raw from plugins.stack import Stack from plugins.tabs import Tabs -from plugins.hazelnut import Hazelnut -from plugins.resources_selected import ResourcesSelected +from plugins.querytable import QueryTable +from plugins.queryupdater import QueryUpdater from plugins.googlemap import GoogleMap from plugins.senslabmap import SensLabMap from plugins.querycode import QueryCode @@ -20,6 +20,7 @@ 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 @@ -38,7 +39,8 @@ 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("manifold URL %s"); });'%(Config.manifold_url())) + config=Config() + page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(config.manifold_url())) page.expose_js_metadata() metadata = page.get_metadata() @@ -100,9 +102,9 @@ class SliceView (LoginRequiredAutoLogoutView): ) # -------------------------------------------------------------------------- - # ResourcesSelected (Pending Operations) + # QueryUpdater (Pending Operations) - main_stack.insert(ResourcesSelected( + main_stack.insert(QueryUpdater( page = page, title = 'Pending operations', query = main_query, @@ -158,7 +160,7 @@ class SliceView (LoginRequiredAutoLogoutView): zoom = 4, ) - resources_as_list = Hazelnut( + resources_as_list = QueryTable( page = page, domid = 'resources-list', title = 'List view', @@ -173,7 +175,7 @@ class SliceView (LoginRequiredAutoLogoutView): }, ) - # with the new 'Filter' stuff on top, no need for anything but the hazelnut + # with the new 'Filter' stuff on top, no need for anything but the querytable resources_as_list_area = resources_as_list resources_area = Tabs ( page=page, @@ -181,45 +183,100 @@ class SliceView (LoginRequiredAutoLogoutView): togglable=True, title="Resources", outline_complete=True, - sons=[ resources_as_map, resources_as_list_area, ], + sons=[ resources_as_map, resources_as_list_area ], active_domid = 'resources-map', ) main_stack.insert (resources_area) - # -------------------------------------------------------------------------- # USERS -# if do_query_users: -# tab_users = Tabs( -# page = page, -# domid = 'users', -# outline_complete = True, -# togglable = True, -# title = 'Users', -# active_domid = 'users-list', -# ) -# main_stack.insert(tab_users) -# -# tab_users.insert(Hazelnut( -# page = page, -# title = 'Users List', -# domid = 'users-list', -# # tab's sons preferably turn this off -# togglable = False, -# # this is the query at the core of the slice list -# query = sq_user, -# query_all = query_user_all, -# checkboxes = True, -# datatables_options = { -# 'iDisplayLength' : 25, -# 'bLengthChange' : True, -# 'bAutoWidth' : True, -# }, -# )) + if do_query_users: + tab_users = Tabs( + page = page, + domid = 'users', + outline_complete = True, + togglable = True, + title = 'Users', + active_domid = 'users-list', + ) + main_stack.insert(tab_users) + + tab_users.insert(QueryTable( + page = page, + title = 'Users List', + domid = 'users-list', + # tab's sons preferably turn this off + togglable = False, + # this is the query at the core of the slice list + query = sq_user, + query_all = query_user_all, + checkboxes = True, + datatables_options = { + 'iDisplayLength' : 25, + 'bLengthChange' : True, + 'bAutoWidth' : True, + }, + )) + # DEMO # -------------------------------------------------------------------------- # MEASUREMENTS + measurements_stats_cpu = SliceStat( + title = "CPU Usage", + domid = 'resources-stats-cpu', + page = page, + stats = 'slice', + key = 'hrn', + query = 'none', + slicename = slicename, + o = 'cpu' + ) + + measurements_stats_mem = SliceStat( + title = "Memory Usage", + domid = 'resources-stats-mem', + page = page, + stats = 'slice', + key = 'hrn', + query = 'none', + slicename = slicename, + o = 'mem' + ) + + measurements_stats_asb = SliceStat( + title = "Traffic Sent", + domid = 'resources-stats-asb', + page = page, + stats = 'slice', + key = 'hrn', + query = 'none', + slicename = slicename, + o = 'asb' + ) + + measurements_stats_arb = SliceStat( + title = "Traffic Received", + domid = 'resources-stats-arb', + page = page, + stats = 'slice', + key = 'hrn', + query = 'none', + slicename = slicename, + o = 'arb' + ) + + tab_measurements = Tabs ( page=page, + domid="measurements", + togglable=True, + toggled = False, + title="Measurements", + outline_complete=True, + sons=[ measurements_stats_cpu, measurements_stats_mem, measurements_stats_asb, measurements_stats_arb ], + active_domid = 'measurements_stats_cpu', + ) + main_stack.insert (tab_measurements) + # tab_measurements = Tabs ( # page = page, # active_domid = 'measurements-list', @@ -230,7 +287,7 @@ class SliceView (LoginRequiredAutoLogoutView): # ) # main_stack.insert(tab_measurements) # -# tab_measurements.insert(Hazelnut( +# tab_measurements.insert(QueryTable( # page = page, # title = 'Measurements', # domid = 'measurements-list', @@ -267,8 +324,8 @@ class SliceView (LoginRequiredAutoLogoutView): # variables that will get passed to the view-unfold1.html template template_env = {} - # define 'unfold1_main' to the template engine - the main contents - template_env [ 'unfold1_main' ] = main_stack.render(request) + # define 'unfold_main' to the template engine - the main contents + template_env [ 'unfold_main' ] = main_stack.render(request) # more general variables expected in the template template_env [ 'title' ] = '%(slicename)s'%locals()