X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsliceview.py;h=3822321007c5ee3d9f662d5fc340d71e5275b546;hb=78f61768d16b75e86ad003f011a16c25f777db76;hp=44effc9ab2303eef223fefbdb146f5c36cda6d16;hpb=a1334d41a53aec4a8bf2ebd7f3c67244eb8ac1a8;p=myslice.git diff --git a/portal/sliceview.py b/portal/sliceview.py index 44effc9a..38223210 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,7 +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 plugins.slicestat import SliceStat from myslice.config import Config @@ -30,6 +30,9 @@ tmp_default_slice='ple.upmc.myslicedemo' #do_query_users=True do_query_users=False +insert_messages=False +#insert_messages=True + class SliceView (LoginRequiredAutoLogoutView): def get (self,request, slicename=tmp_default_slice): @@ -102,9 +105,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, @@ -145,7 +148,7 @@ class SliceView (LoginRequiredAutoLogoutView): # RESOURCES # the resources part is made of a Tabs (Geographic, List), - resources_as_map = GoogleMap( + resources_as_gmap = GoogleMap( page = page, title = 'Geographic view', domid = 'resources-map', @@ -160,7 +163,18 @@ class SliceView (LoginRequiredAutoLogoutView): zoom = 4, ) - resources_as_list = Hazelnut( +# because (senslab)map.css changes stuff for *all* canvas elements +# it destroys the googlemap behaviour +# turning this off for now until Anthony can fix that +# resources_as_3dmap = SensLabMap( +# page = page, +# title = '3D Map', +# domid = 'senslabmap', +# query = sq_resource, +# query_all = query_resource_all, +# ) + + resources_as_list = QueryTable( page = page, domid = 'resources-list', title = 'List view', @@ -175,7 +189,57 @@ class SliceView (LoginRequiredAutoLogoutView): }, ) - resources_stats_cpu = Slicestat( + # 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, + domid="resources", + togglable=True, + title="Resources", + outline_complete=True, + sons=[ resources_as_gmap, +# see above +# resources_as_3dmap, + 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(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, @@ -186,7 +250,7 @@ class SliceView (LoginRequiredAutoLogoutView): o = 'cpu' ) - resources_stats_mem = Slicestat( + measurements_stats_mem = SliceStat( title = "Memory Usage", domid = 'resources-stats-mem', page = page, @@ -197,7 +261,7 @@ class SliceView (LoginRequiredAutoLogoutView): o = 'mem' ) - resources_stats_asb = Slicestat( + measurements_stats_asb = SliceStat( title = "Traffic Sent", domid = 'resources-stats-asb', page = page, @@ -208,7 +272,7 @@ class SliceView (LoginRequiredAutoLogoutView): o = 'asb' ) - resources_stats_arb = Slicestat( + measurements_stats_arb = SliceStat( title = "Traffic Received", domid = 'resources-stats-arb', page = page, @@ -218,85 +282,18 @@ class SliceView (LoginRequiredAutoLogoutView): slicename = slicename, o = 'arb' ) - - # with the new 'Filter' stuff on top, no need for anything but the hazelnut - resources_as_list_area = resources_as_list - resources_area = Tabs ( page=page, - domid="resources", + tab_measurements = Tabs ( page=page, + domid="measurements", togglable=True, - title="Resources", + toggled = False, + title="Measurements", outline_complete=True, - sons=[ resources_as_map, resources_as_list_area, resources_stats_cpu, resources_stats_mem, resources_stats_asb, resources_stats_arb ], - active_domid = 'resources-map', + sons=[ measurements_stats_cpu, measurements_stats_mem, measurements_stats_asb, measurements_stats_arb ], + active_domid = 'measurements_stats_cpu', ) - main_stack.insert (resources_area) - - # -------------------------------------------------------------------------- - # USERS - -<<<<<<< HEAD - 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, - }, - )) - + main_stack.insert (tab_measurements) -======= - 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, - }, - )) ->>>>>>> 0c8a634162f3271018102e75a3934c5db5e48f59 -# DEMO - # -------------------------------------------------------------------------- - # MEASUREMENTS # tab_measurements = Tabs ( # page = page, # active_domid = 'measurements-list', @@ -307,7 +304,7 @@ class SliceView (LoginRequiredAutoLogoutView): # ) # main_stack.insert(tab_measurements) # -# tab_measurements.insert(Hazelnut( +# tab_measurements.insert(QueryTable( # page = page, # title = 'Measurements', # domid = 'measurements-list', @@ -327,25 +324,26 @@ class SliceView (LoginRequiredAutoLogoutView): # # # -------------------------------------------------------------------------- # # MESSAGES (we use transient=False for now) -# main_stack.insert(Messages( -# page = page, -# title = "Runtime messages for slice %s"%slicename, -# domid = "msgs-pre", -# levels = "ALL", -# # plain messages are probably less nice for production but more reliable for development for now -# transient = False, -# # these make sense only in non-transient mode.. -# togglable = True, -# toggled = 'persistent', -# outline_complete = True, -# )) -# + if insert_messages: + main_stack.insert(Messages( + page = page, + title = "Runtime messages for slice %s"%slicename, + domid = "msgs-pre", + levels = "ALL", + # plain messages are probably less nice for production but more reliable for development for now + transient = False, + # these make sense only in non-transient mode.. + togglable = True, + toggled = 'persistent', + outline_complete = True, + )) + # 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()