1 from manifold.core.query import Query
2 from unfold.page import Page
4 from unfold.loginrequired import FreeAccessView
5 from ui.topmenu import topmenu_items_live, the_user
7 from plugins.querytable import QueryTable
9 # View for 1 platform and its details
10 class PlatformView(FreeAccessView):
11 template_name = "platform.html"
13 def get_context_data(self, **kwargs):
14 page = Page(self.request)
15 page.add_js_files ( [ "js/common.functions.js" ] )
16 for key, value in kwargs.iteritems():
17 print "%s = %s" % (key, value)
18 if key == "platformname":
21 network_query = Query().get('local:platform')\
22 .filter_by('platform', '==', platformname)\
23 .select('platform','platform_longname','gateway_type')
24 page.enqueue_query(network_query)
26 page.expose_js_metadata()
27 networklist = QueryTable(
31 # this is the query at the core of the slice list
32 query = network_query,
33 query_all = network_query,
35 datatables_options = {
36 'iDisplayLength' : 25,
37 'bLengthChange' : True,
41 # networklist = SimpleList(
45 # query = network_query,
48 context = super(PlatformView, self).get_context_data(**kwargs)
49 context['person'] = self.request.user
50 context['networks'] = networklist.render(self.request)
52 # XXX This is repeated in all pages
53 # more general variables expected in the template
54 context['title'] = 'Platforms connected to MySlice'
55 # the menu items on the top
56 context['topmenu_items'] = topmenu_items_live('Platforms', page)
57 # so we can sho who is logged
58 context['username'] = the_user(self.request)
60 context.update(page.prelude_env())