X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=blobdiff_plain;f=portal%2Fdashboardview.py;h=dea1c74c53423b6ddb6f8a36c4dc395e0e310cc5;hp=44a3ea91294f9c1454dad8ff42c6d1dfccb7ee73;hb=800c3c72aa7f23dacd52bacd573ced409987baa0;hpb=dc832ad1a26a47483f8297678a9417640b7c9925 diff --git a/portal/dashboardview.py b/portal/dashboardview.py index 44a3ea91..dea1c74c 100644 --- a/portal/dashboardview.py +++ b/portal/dashboardview.py @@ -1,4 +1,7 @@ +import json from manifold.core.query import Query +from manifold.manifoldapi import execute_query + from unfold.page import Page from plugins.lists.testbedlist import TestbedList @@ -6,7 +9,7 @@ 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 #This view requires login class DashboardView (LoginRequiredAutoLogoutView): @@ -21,20 +24,36 @@ class DashboardView (LoginRequiredAutoLogoutView): #messages.info(self.request, 'You have logged in') page = Page(self.request) + print "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 - slice_query = Query().get('user').filter_by('user_hrn', '==', '$user_hrn').select('user_hrn', 'slice.slice_hrn') +# user_query = Query().get('local:user').select('config','email') +# user_details = execute_query(self.request, user_query) + + # not always found in user_details... +# config={} + # for user_detail in user_details: + # #email = user_detail['email'] + # if user_detail['config']: + # config = json.loads(user_detail['config']) + # user_detail['authority'] = config.get('authority',"Unknown Authority") +# +# print user_detail +# if user_detail['authority'] is not None: +# sub_authority = user_detail['authority'].split('.') +# 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('slice.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( @@ -52,10 +71,13 @@ 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) + page.expose_js_metadata() + + # the page header and other stuff context.update(page.prelude_env()) return context