X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsliceresourceview.py;h=2451600a1a94882fc887334f723a4ee28244db92;hb=9a4e6ba9029d1a482e61664ed09b58c9c817f196;hp=85bd368a56e9bdb42f356c89ca14ea2f899e7171;hpb=472a1ed07124ac7df43c71024c17ec72362486d8;p=myslice.git diff --git a/portal/sliceresourceview.py b/portal/sliceresourceview.py index 85bd368a..2451600a 100644 --- a/portal/sliceresourceview.py +++ b/portal/sliceresourceview.py @@ -1,16 +1,16 @@ +import json + from django.template import RequestContext from django.shortcuts import render_to_response +from django.views.generic.base import TemplateView +from django.http import HttpResponse +from django.shortcuts import render from manifold.core.query import Query, AnalyzedQuery from manifoldapi.manifoldapi import execute_query -import json -from django.views.generic.base import TemplateView from unfold.loginrequired import LoginRequiredView -from django.http import HttpResponse -from django.shortcuts import render - from unfold.page import Page from myslice.configengine import ConfigEngine @@ -30,7 +30,7 @@ from plugins.univbrisfv import UnivbrisFv from plugins.univbrisfvf import UnivbrisFvf from plugins.univbrisfvfo import UnivbrisFvfo from plugins.univbristopo import UnivbrisTopo -from plugins.univbrisvtam import UnivbrisVtam as UnivbrisVtamPlugin +from plugins.univbrisvtam import UnivbrisVtam as UnivbrisVtamPlugin from plugins.univbrisvtamform import UnivbrisVtamForm from plugins.columns_editor import ColumnsEditor @@ -38,6 +38,7 @@ from plugins.sladialog import SlaDialog from plugins.lists.simplelist import SimpleList from myslice.theme import ThemeView +from myslice.settings import logger class SliceResourceView (LoginRequiredView, ThemeView): template_name = "slice-resource-view.html" @@ -60,7 +61,7 @@ class SliceResourceView (LoginRequiredView, ThemeView): user_fields = ['user_hrn'] # [column['name'] for column in user_md['column']] 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') @@ -71,11 +72,27 @@ class SliceResourceView (LoginRequiredView, ThemeView): slice_md = metadata.details_by_object('slice') slice_fields = [column['name'] for column in slice_md['column']] - print "SLICE RES VIEW fields = %s" % slice_fields + logger.debug("SLICE RES VIEW fields = {}".format(slice_fields)) # TODO The query to run is embedded in the URL # 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_fields) + + # Columns shown by default in Query_table plugin + page.expose_js_var("QUERYTABLE_MAP","{'Resource name': 'hostname', 'Type': 'type', 'Facility': 'facility_name','Testbed': 'testbed_name', 'Status':'boot_state'}") + + # Columns checked by default in Columns_selector plugin + query_default_fields = ['hostname', 'type', 'facility_name', 'testbed_name', 'boot_state'] + + QUERYTABLE_MAP = { + 'hostname' : 'Resource name', + 'type' : 'Type', + 'facility_name' : 'Facility', + 'testbed_name' : 'Testbed', + 'boot_state' : 'Status', + } + + # # SLICE # 'slice_hrn', # # - The record key is needed otherwise the storage of records @@ -121,14 +138,16 @@ class SliceResourceView (LoginRequiredView, ThemeView): # ALL RESOURCES LIST # resources as a list using datatable plugin - list_resources = QueryTable( - page = page, - domid = 'resources-list', - title = 'List view', - query = sq_resource, - query_all = query_resource_all, - init_key = "urn", - checkboxes = True, + list_resources = QueryTable( + page = page, + domid = 'resources-list', + title = 'List view', + query = sq_resource, + query_all = query_resource_all, + mapping = QUERYTABLE_MAP, + default_fields = query_default_fields, + init_key = "urn", + checkboxes = True, datatables_options = { 'iDisplayLength': 25, 'bLengthChange' : True, @@ -179,6 +198,7 @@ class SliceResourceView (LoginRequiredView, ThemeView): page = page, query = sq_resource, query_all = query_resource_all, + default_fields = query_default_fields, title = "Select Columns", domid = 'select-columns', ) @@ -263,6 +283,7 @@ class SliceResourceView (LoginRequiredView, ThemeView): page = page, domid = "filter-status", query = sq_resource, + query_lease = sq_lease, ) apply = ApplyPlugin( page = page,