1 from django.views.generic.base import TemplateView
3 from manifold.core.query import Query
4 from unfold.page import Page
6 from ui.topmenu import topmenu_items, the_user
8 from plugins.hazelnut import Hazelnut
10 # View for 1 platform and its details
11 class PlatformView(TemplateView):
12 template_name = "platform.html"
14 def get_context_data(self, **kwargs):
15 page = Page(self.request)
17 for key, value in kwargs.iteritems():
18 print "%s = %s" % (key, value)
19 if key == "platformname":
22 network_query = Query().get('local:platform')\
23 .filter_by('platform', '==', platformname)\
24 .select('platform','platform_longname','gateway_type')
25 page.enqueue_query(network_query)
27 page.expose_js_metadata()
29 networklist = Hazelnut(
33 # this is the query at the core of the slice list
34 query = network_query,
35 query_all = network_query,
37 datatables_options = {
38 'iDisplayLength' : 25,
39 'bLengthChange' : True,
43 # networklist = SimpleList(
47 # query = network_query,
50 context = super(PlatformView, self).get_context_data(**kwargs)
51 context['person'] = self.request.user
52 context['networks'] = networklist.render(self.request)
54 # XXX This is repeated in all pages
55 # more general variables expected in the template
56 context['title'] = 'Platforms connected to MySlice'
57 # the menu items on the top
58 context['topmenu_items'] = topmenu_items('Platforms', self.request)
59 # so we can sho who is logged
60 context['username'] = the_user(self.request)
62 context.update(page.prelude_env())