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.googlemap import GoogleMap
9 from plugins.hazelnut import Hazelnut
10 from plugins.lists.simplelist import SimpleList
11 from plugins.slicestat import Slicestat
13 # View for 1 platform and its details
14 class ResourceView(TemplateView):
15 template_name = "resource.html"
17 def get_context_data(self, **kwargs):
18 page = Page(self.request)
20 for key, value in kwargs.iteritems():
21 print "%s = %s" % (key, value)
25 resource_query = Query().get('resource')\
26 .filter_by('urn', '==', resource_urn)\
27 .select('hostname','type','hrn','urn', 'latitude', 'longitude', 'country')
28 page.enqueue_query(resource_query)
30 page.expose_js_metadata()
33 resourcelist = Hazelnut(
37 # this is the query at the core of the slice list
38 query = resource_query,
39 query_all = resource_query,
41 datatables_options = {
42 'iDisplayLength' : 25,
43 'bLengthChange' : True,
46 resource_as_map = GoogleMap(
48 title = 'Geographic view',
49 domid = 'resources-map',
50 # tab's sons preferably turn this off
52 query = resource_query,
53 query_all = resource_query,
60 # resourcelist = SimpleList(
64 # query = resource_query,
67 resource_stats = Slicestat(
71 query = resource_query
74 context = super(ResourceView, self).get_context_data(**kwargs)
75 context['person'] = self.request.user
76 context['resource'] = resourcelist.render(self.request)
77 context['resource_as_map'] = resource_as_map.render(self.request)
78 context['resource_stats'] = resource_stats.render(self.request)
80 # XXX This is repeated in all pages
81 # more general variables expected in the template
82 context['title'] = 'Information about a resource'
83 # the menu items on the top
84 context['topmenu_items'] = topmenu_items(None, self.request)
85 # so we can sho who is logged
86 context['username'] = the_user(self.request)
88 context.update(page.prelude_env())