X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsliceresourceview.py;h=3fe521ad30cab5cbc844743dcf5f7fe3d45c67d7;hb=261afa50a6fade31685a23b104ab919bebaf25ef;hp=8fc5ceb48c01f6d394fb7a93a84978d14a92c1ce;hpb=893b3133f91a4ec8b9c17eca223147e50b647681;p=myslice.git diff --git a/portal/sliceresourceview.py b/portal/sliceresourceview.py index 8fc5ceb4..3fe521ad 100644 --- a/portal/sliceresourceview.py +++ b/portal/sliceresourceview.py @@ -18,7 +18,7 @@ from myslice.configengine import ConfigEngine from plugins.apply import ApplyPlugin from plugins.querytable import QueryTable from plugins.googlemap import GoogleMap -#from plugins.queryupdater import QueryUpdater +# from plugins.queryupdater import QueryUpdaterPlugin from plugins.filter_status import FilterStatusPlugin from plugins.testbeds import TestbedsPlugin from plugins.scheduler2 import Scheduler2 @@ -52,14 +52,26 @@ class SliceResourceView (LoginRequiredView, ThemeView): # Example: select slice_hrn, resource.urn, lease.resource, lease.start_time, lease.end_time from slice where slice_hrn == "ple.upmc.myslicedemo" main_query = Query.get('slice').filter_by('slice_hrn', '=', slicename) main_query.select( - 'slice_urn', # XXX We need the key otherwise the storage of records bugs ! + # SLICE 'slice_hrn', + # - The record key is needed otherwise the storage of records + # bugs ! + 'slice_urn', + # RESOURCES 'resource.urn', 'resource.hostname', 'resource.type', - 'resource.network_hrn', + # - The facility_name and testbed_name are required for the + # testbeds plugin to properly work. + 'resource.facility_name', + 'resource.testbed_name', + # LEASES 'lease.resource', 'lease.start_time', 'lease.end_time', + # - The lease_id is important for NITOS identify already existing + # leases + 'lease.lease_id', + #'user.user_hrn', #'application.measurement_point.counter' ) @@ -75,11 +87,11 @@ class SliceResourceView (LoginRequiredView, ThemeView): #page.enqueue_query(query_resource_all) # leases query - lease_md = metadata.details_by_object('lease') - lease_fields = [column['name'] for column in lease_md['column']] + #lease_md = metadata.details_by_object('lease') + #lease_fields = [column['name'] for column in lease_md['column']] - query_lease_all = Query.get('lease').select(lease_fields) - page.enqueue_query(query_lease_all) + #query_lease_all = Query.get('lease').select(lease_fields) + #page.enqueue_query(query_lease_all) # -------------------------------------------------------------------------- # ALL RESOURCES LIST @@ -163,10 +175,11 @@ class SliceResourceView (LoginRequiredView, ThemeView): # the key to use at init-time init_key = main_query_init_key, checkboxes = True, - # center on Paris - latitude = 49., - longitude = 9, - zoom = 8, + + # To center around Europe : 53,9 / 3 + latitude = 53., + longitude = 9., + zoom = 3, ) # -------------------------------------------------------------------------- @@ -185,17 +198,17 @@ class SliceResourceView (LoginRequiredView, ThemeView): # -------------------------------------------------------------------------- # QueryUpdater (Pending Operations) -#DEPRECATED| pending_resources = QueryUpdater( -#DEPRECATED| page = page, -#DEPRECATED| title = 'Pending operations', -#DEPRECATED| query = main_query, -#DEPRECATED| togglable = False, -#DEPRECATED| # start turned off, it will open up itself when stuff comes in -#DEPRECATED| toggled = False, -#DEPRECATED| domid = 'pending', -#DEPRECATED| outline_complete = True, -#DEPRECATED| username = request.user, -#DEPRECATED| ) +# pending_resources = QueryUpdaterPlugin( +# page = page, +# title = 'Pending operations', +# query = main_query, +# togglable = False, +# # start turned off, it will open up itself when stuff comes in +# toggled = False, +# domid = 'pending', +# outline_complete = True, +# username = request.user, +# ) # -------------------------------------------------------------------------- # NETWORKS @@ -204,22 +217,22 @@ class SliceResourceView (LoginRequiredView, ThemeView): network_md = metadata.details_by_object('network') network_fields = [column['name'] for column in network_md['column']] - query_networks = Query.get('network').select(network_fields) - page.enqueue_query(query_networks) + #query_networks = Query.get('network').select(network_fields) + #page.enqueue_query(query_networks) filter_testbeds = TestbedsPlugin( page = page, domid = 'testbeds-filter', title = 'Filter by testbeds', query = sq_resource, - query_networks = query_networks, - init_key = "network_hrn", - checkboxes = True, - datatables_options = { - 'iDisplayLength': 25, - 'bLengthChange' : True, - 'bAutoWidth' : True, - }, + #query_networks = query_networks, + #init_key = "network_hrn", + #checkboxes = True, + #datatables_options = { + # 'iDisplayLength': 25, + # 'bLengthChange' : True, + # 'bAutoWidth' : True, + # }, ) filter_status = FilterStatusPlugin( @@ -230,7 +243,8 @@ class SliceResourceView (LoginRequiredView, ThemeView): apply = ApplyPlugin( page = page, domid = "apply", - query = main_query #sq_resource, + query = main_query, + username = request.user, ) @@ -254,6 +268,8 @@ class SliceResourceView (LoginRequiredView, ThemeView): account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config') platform_details = execute_query(self.request, platform_query) account_details = execute_query(self.request, account_query) + + # XXX When session has expired, this is None and thus not iterable for platform_detail in platform_details: for account_detail in account_details: if platform_detail['platform_id'] == account_detail['platform_id']: