X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsliceresourceview.py;fp=portal%2Fsliceresourceview.py;h=da362d366f7bf1363ea3b71c53f847fca81ab682;hb=d81f5f5ca87b6eba05adb93cd27ac3c9952cc294;hp=f6d29dbfa0b0aa2e1da4ed1ee38cf3725fd5f661;hpb=ec5bde32fc8594f89a5b07035d39bffc4608cb0d;p=myslice.git diff --git a/portal/sliceresourceview.py b/portal/sliceresourceview.py index f6d29dbf..da362d36 100644 --- a/portal/sliceresourceview.py +++ b/portal/sliceresourceview.py @@ -1,27 +1,30 @@ -from django.template import RequestContext -from django.shortcuts import render_to_response +from django.template import RequestContext +from django.shortcuts import render_to_response from manifold.core.query import Query, AnalyzedQuery from manifoldapi.manifoldapi import execute_query import json -from django.views.generic.base import TemplateView +from django.views.generic.base import TemplateView -from unfold.loginrequired import LoginRequiredView +from unfold.loginrequired import LoginRequiredView from django.http import HttpResponse from django.shortcuts import render -from unfold.page import Page +from unfold.page import Page -from myslice.configengine import ConfigEngine -from plugins.querytable import QueryTable -from plugins.googlemap import GoogleMap -from plugins.queryupdater import QueryUpdater -from plugins.testbeds import TestbedsPlugin -from plugins.scheduler2 import Scheduler2 -from plugins.columns_editor import ColumnsEditor -from plugins.sladialog import SlaDialog -from plugins.lists.simplelist import SimpleList +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.filter_status import FilterStatusPlugin +from plugins.testbeds import TestbedsPlugin +from plugins.scheduler2 import Scheduler2 +from plugins.columns_editor import ColumnsEditor +from plugins.sladialog import SlaDialog +from plugins.lists.simplelist import SimpleList from myslice.theme import ThemeView @@ -49,8 +52,9 @@ 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_hrn', - 'resource.urn', + 'resource.urn', 'resource.hostname', 'resource.type', 'resource.network_hrn', 'lease.resource', @@ -68,7 +72,7 @@ class SliceResourceView (LoginRequiredView, ThemeView): sq_lease = aq.subquery('lease') query_resource_all = Query.get('resource').select(resource_fields) - page.enqueue_query(query_resource_all) + #page.enqueue_query(query_resource_all) # leases query lease_md = metadata.details_by_object('lease') @@ -154,7 +158,6 @@ class SliceResourceView (LoginRequiredView, ThemeView): # tab's sons preferably turn this off togglable = False, query = sq_resource, - query_all = query_resource_all, # this key is the one issued by google googlemap_api_key = ConfigEngine().googlemap_api_key(), # the key to use at init-time @@ -177,24 +180,22 @@ class SliceResourceView (LoginRequiredView, ThemeView): # this is the query at the core of the slice list query = sq_resource, query_lease = sq_lease, - query_all_resources = query_resource_all, - query_all_leases = query_lease_all, ) # -------------------------------------------------------------------------- # QueryUpdater (Pending Operations) - pending_resources = QueryUpdater( - 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, - ) +#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| ) # -------------------------------------------------------------------------- # NETWORKS @@ -203,18 +204,17 @@ class SliceResourceView (LoginRequiredView, ThemeView): network_md = metadata.details_by_object('network') network_fields = [column['name'] for column in network_md['column']] - #query_network = Query.get('network').select(network_fields) - #page.enqueue_query(query_network) + 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_all = query_resource_all, - #query_network = query_network, - init_key = "network_hrn", - checkboxes = True, + 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, @@ -222,6 +222,18 @@ class SliceResourceView (LoginRequiredView, ThemeView): }, ) + filter_status = FilterStatusPlugin( + page = page, + domid = "filter-status", + query = sq_resource, + ) + apply = ApplyPlugin( + page = page, + domid = "apply", + query = sq_resource, + ) + + # -------------------------------------------------------------------------- # SLA View and accept dialog @@ -263,10 +275,13 @@ class SliceResourceView (LoginRequiredView, ThemeView): template_env['columns_editor'] = filter_column_editor.render(self.request) template_env['filter_testbeds'] = filter_testbeds.render(self.request) + template_env['filter_status'] = filter_status.render(self.request) + template_env['apply'] = apply.render(self.request) + template_env['map_resources'] = map_resources.render(self.request) template_env['scheduler'] = resources_as_scheduler2.render(self.request) - template_env['pending_resources'] = pending_resources.render(self.request) - template_env['sla_dialog'] = sla_dialog.render(self.request) +# template_env['pending_resources'] = pending_resources.render(self.request) + template_env['sla_dialog'] = '' # sla_dialog.render(self.request) template_env["theme"] = self.theme template_env["username"] = request.user template_env["pi"] = pi