X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fdashboardview.py;h=4beb7a9d53c888303e3d84604cd599e59ce3458d;hb=0300e4a519eb44fa1e2b769f1c871471ebfe0620;hp=41177823e83dfd1d5957bd015e4b8ca8e0bfdefb;hpb=d9bbe0a36624c6fe558c05307964be1b3ed4e3b1;p=myslice.git diff --git a/portal/dashboardview.py b/portal/dashboardview.py index 41177823..4beb7a9d 100644 --- a/portal/dashboardview.py +++ b/portal/dashboardview.py @@ -1,6 +1,6 @@ import json from manifold.core.query import Query -from manifold.manifoldapi import execute_query +from manifoldapi.manifoldapi import execute_query from unfold.page import Page @@ -9,10 +9,14 @@ from plugins.lists.slicelist import SliceList from unfold.loginrequired import LoginRequiredAutoLogoutView -from ui.topmenu import topmenu_items, the_user +from ui.topmenu import topmenu_items_live, the_user + +from myslice.theme import ThemeView +from myslice.settings import logger + #This view requires login -class DashboardView (LoginRequiredAutoLogoutView): +class DashboardView (LoginRequiredAutoLogoutView, ThemeView): template_name = "dashboard.html" @@ -20,20 +24,19 @@ class DashboardView (LoginRequiredAutoLogoutView): # We might have slices on different registries with different user accounts # We note that this portal could be specific to a given registry, to which we register users, but i'm not sure that simplifies things # Different registries mean different identities, unless we identify via SFA HRN or have associated the user email to a single hrn - #messages.info(self.request, 'You have logged in') page = Page(self.request) - print "Dashboard page" + logger.info("Dashboard page") # Slow... #slice_query = Query().get('slice').filter_by('user.user_hrn', 'contains', user_hrn).select('slice_hrn') - testbed_query = Query().get('network').select('network_hrn','platform') + testbed_query = Query().get('network').select('network_hrn','platform','version') # DEMO GEC18 Query only PLE - user_query = Query().get('local:user').select('config','email') - user_details = execute_query(self.request, user_query) +# user_query = Query().get('local:user').select('config','email') +# user_details = execute_query(self.request, user_query) # not always found in user_details... - config={} +# config={} # for user_detail in user_details: # #email = user_detail['email'] # if user_detail['config']: @@ -46,16 +49,16 @@ class DashboardView (LoginRequiredAutoLogoutView): # root_authority = sub_authority[0] # slice_query = Query().get(root_authority+':user').filter_by('user_hrn', '==', '$user_hrn').select('user_hrn', 'slice.slice_hrn') # else: - slice_query = Query().get('user').filter_by('user_hrn', '==', '$user_hrn').select('user_hrn', 'slice.slice_hrn') + logger.debug("SLICE QUERY") + logger.debug("-" * 80) + slice_query = Query().get('myslice:user').filter_by('user_hrn', '==', '$user_hrn').select('slices.slice_hrn') page.enqueue_query(slice_query) page.enqueue_query(testbed_query) - page.expose_js_metadata() - page.expose_queries() - slicelist = SliceList( page = page, title = "slices", + warning_msg = "Request Slice", query = slice_query, ) testbedlist = TestbedList( @@ -73,10 +76,15 @@ class DashboardView (LoginRequiredAutoLogoutView): # more general variables expected in the template context['title'] = 'Dashboard' # the menu items on the top - context['topmenu_items'] = topmenu_items('Dashboard', self.request) + context['topmenu_items'] = topmenu_items_live('Dashboard', page) # so we can sho who is logged context['username'] = the_user(self.request) + context['theme'] = self.theme + + page.expose_js_metadata() + + # the page header and other stuff context.update(page.prelude_env()) return context