X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Funivbrisview.py;fp=portal%2Funivbrisview.py;h=7154b8abc86f04ca518bf46bad611e2115fc1529;hb=e45ccc4c4c327a81cc6a001ceff0655358ea09c5;hp=806aaecb9a786d8e2c91ee4f53ca6a3e43b5c427;hpb=e494918d8e6d9dab21b9ff30c3c2db2157dc0a20;p=myslice.git diff --git a/portal/univbrisview.py b/portal/univbrisview.py index 806aaecb..7154b8ab 100644 --- a/portal/univbrisview.py +++ b/portal/univbrisview.py @@ -1,22 +1,26 @@ import json +from manifold.core.query import Query +from manifoldapi.manifoldapi import execute_query -from manifold.core.query import Query -from manifoldapi.manifoldapi import execute_query +from unfold.page import Page + +from plugins.lists.testbedlist import TestbedList +from plugins.lists.slicelist import SliceList -from unfold.page import Page from unfold.loginrequired import FreeAccessView -from unfold.loginrequired import LoginRequiredAutoLogoutView -from ui.topmenu import topmenu_items_live, the_user +from unfold.loginrequired import LoginRequiredAutoLogoutView -from plugins.lists.testbedlist import TestbedList -from plugins.lists.slicelist import SliceList -from plugins.querytable import QueryTable -from plugins.univbrisfoam import UnivbrisFoam -from plugins.univbrisfv import UnivbrisFv -from plugins.lists.staticlist import StaticList -from plugins.lists.slicelist import SliceList -from plugins.messages import Messages -from plugins.univbrisfvf import UnivbrisFvf +from ui.topmenu import topmenu_items_live, the_user +from plugins.querytable import QueryTable +from plugins.univbrisfoam import UnivbrisFoam +from plugins.univbrisfv import UnivbrisFv +from plugins.lists.staticlist import StaticList +from plugins.lists.slicelist import SliceList +from plugins.messages import Messages +from plugins.univbrisfvf import UnivbrisFvf +from plugins.univbrisfvfo import UnivbrisFvfo +from plugins.univbris import Univbris +from plugins.univbristopo import UnivbrisTopo #This view requires login class UnivbrisView (LoginRequiredAutoLogoutView): @@ -27,22 +31,46 @@ class UnivbrisView (LoginRequiredAutoLogoutView): page = Page(self.request) #print "UNIVBRIS page" - - #create new query to manifold----query is not called yet - #need to modify to get i2cat of resources also + metadata = page.get_metadata() + page.expose_js_metadata() + + resource_md = metadata.details_by_object('resource') + resource_fields = [column['name'] for column in resource_md['column']] + + user_md = metadata.details_by_object('user') + user_fields = ['user_hrn'] # [column['name'] for column in user_md['column']] + + + #create new query to manifold----query is not called yet + #need to modify to get i2cat of resources also univbrisfoam_query=Query().get('ofelia-bristol-of:resource').select('urn') + #print univbrisfoam_query #.select('urn') + #Query().get('ofelia-bristol-of:resource') + ##custom query to communication between univbris plugins + #univbris_query=Query() - #queue the query + #queue the query page.enqueue_query(univbrisfoam_query) + #page.enqueue_query(univbris_query) page.expose_js_metadata() - - #plugin which collects different openflow ports from maniford + + + #plugin which display a "gathering resources" message waiting for all resources to be returned by manifold + univbriswelcome = Univbris( + page = page, + title = 'univbris_welcome', + domid = 'univbris_welcome', + query = univbrisfoam_query, + ) + + #plugin which collects different openflow ports from maniford univbrisfoamlist = UnivbrisFoam( page = page, title = 'univbris_foam_ports_selection', domid = 'univbris_foam_ports_selection', query = univbrisfoam_query, query_all = univbrisfoam_query, + sync_query= univbrisfoam_query, checkboxes = False, datatables_options = { 'iDisplayLength': 10, @@ -51,26 +79,42 @@ class UnivbrisView (LoginRequiredAutoLogoutView): }, ) - #plugin which manages the different flowspaces that the user creates, and also sends flowspaces to manifold + #plugin which manages the different flowspaces that the user creates, and also sends flowspaces to manifold univbrisfvlist = UnivbrisFv( - page = page, - title = 'univbris_flowspace_selection', - domid = 'univbris_flowspace_selection', - query = None, - query_all = None, - datatables_options = { - 'iDisplayLength': 5, - 'bLengthChange' : True, - 'bAutoWidth' : True, - }, - ) + page = page, + title = 'univbris_flowspace_selection', + domid = 'univbris_flowspace_selection', + query = None, + query_all = None, + sync_query= univbrisfoam_query, + datatables_options = { + 'iDisplayLength': 5, + 'bLengthChange' : True, + 'bAutoWidth' : True, + }, + ) - #plugin which allows the definition of a single flowspace + #plugin which allows the definition the match criteria on a single PACKET flowspace univbrisfvform = UnivbrisFvf( + page = page, + title = 'univbris_flowspace_form', + domid = 'univbris_flowspace_form', + query = None, + query_all = None, + datatables_options = { + 'iDisplayLength': 3, + 'bLengthChange' : True, + 'bAutoWidth' : True, + }, + ) + + #plugin which allows the definition the match criteria on a single OPTICAL flowspace + + univbrisofvform = UnivbrisFvfo( page = page, - title = 'univbris_flowspace_form', - domid = 'univbris_flowspace_form', - query = None, + title = 'univbris_oflowspace_form', + domid = 'univbris_oflowspace_form', + query = None, query_all = None, datatables_options = { 'iDisplayLength': 3, @@ -78,13 +122,25 @@ class UnivbrisView (LoginRequiredAutoLogoutView): 'bAutoWidth' : True, }, ) - - #render plugins in each context within a single page, but not all plugins are visible at all time. + + + #plugin which display the gathered topology + univbristopology = UnivbrisTopo( + page = page, + title = 'univbris_topology', + domid = 'univbris_topology', + query = univbrisfoam_query, + ) + + #render plugins in each context within a single page, but not all plugins are visible at all time. context = super(UnivbrisView, self).get_context_data(**kwargs) context['person'] = self.request.user + context['welcome'] = univbriswelcome.render(self.request) context['resources'] = univbrisfoamlist.render(self.request) context['flowspaces']= univbrisfvlist.render(self.request) + context['oflowspaces_form']= univbrisofvform.render(self.request) context['flowspaces_form']= univbrisfvform.render(self.request) + context['topology']=univbristopology.render(self.request) # XXX This is repeated in all pages # more general variables expected in the template @@ -93,15 +149,14 @@ class UnivbrisView (LoginRequiredAutoLogoutView): context['topmenu_items'] = topmenu_items_live('univbris', page) # so we can sho who is logged context['username'] = the_user(self.request) - + context.update(page.prelude_env()) page.expose_js_metadata() - + # the page header and other stuff context.update(page.prelude_env()) - + context['layout_1_or_2']="layout-unfold2.html" if not context['username'] else "layout-unfold1.html" - + return context -