X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fplatformview.py;fp=portal%2Fplatformview.py;h=a432bc19375c3c56aa355841d8482a41c85d8487;hb=4b0898259ce6c4795e752e05d9a04e9d4f88f501;hp=0000000000000000000000000000000000000000;hpb=02a6c1aea215c598d92bdcd37d19652800a6d156;p=myslice.git diff --git a/portal/platformview.py b/portal/platformview.py new file mode 100644 index 00000000..a432bc19 --- /dev/null +++ b/portal/platformview.py @@ -0,0 +1,70 @@ +from django.views.generic.base import TemplateView + +from manifold.core.query import Query +from unfold.page import Page + +from myslice.viewutils import topmenu_items, the_user + +from plugins.hazelnut import Hazelnut + +# View for 1 platform and its details +class PlatformView(TemplateView): + template_name = "platform.html" + + def get_context_data(self, **kwargs): + page = Page(self.request) + + for key, value in kwargs.iteritems(): + print "%s = %s" % (key, value) + if key == "platformname": + platformname=value + + network_query = Query().get('local:platform')\ + .filter_by('platform', '==', platformname)\ + .select('platform','platform_longname','gateway_type') + page.enqueue_query(network_query) + + page.expose_js_metadata() + page.expose_queries() + networklist = Hazelnut( + page = page, + title = 'List', + domid = 'checkboxes', + # this is the query at the core of the slice list + query = network_query, + query_all = network_query, + checkboxes = False, + datatables_options = { + # for now we turn off sorting on the checkboxes columns this way + # this of course should be automatic in hazelnut + 'aoColumns' : [None, None, None, None, {'bSortable': False}], + 'iDisplayLength' : 25, + 'bLengthChange' : True, + }, + ) +# +# networklist = SimpleList( +# title = None, +# page = page, +# key = 'platform', +# query = network_query, +# ) + + context = super(PlatformView, self).get_context_data(**kwargs) + context['person'] = self.request.user + context['networks'] = networklist.render(self.request) + + # XXX This is repeated in all pages + # more general variables expected in the template + context['title'] = 'Platforms connected to MySlice' + # the menu items on the top + context['topmenu_items'] = topmenu_items('Platforms', self.request) + # so we can sho who is logged + context['username'] = the_user(self.request) + + context.update(page.prelude_env()) + + return context + + +