From 554920a7c6175e1ade92c1de2fee0f5e5c372fdf Mon Sep 17 00:00:00 2001 From: Loic Baron Date: Sun, 13 Oct 2013 21:26:05 +0200 Subject: [PATCH] added missing views for single resource page --- portal/resourceview.py | 84 ++++++++++++++++++++++++++++++++++ portal/templates/resource.html | 12 +++++ 2 files changed, 96 insertions(+) create mode 100644 portal/resourceview.py create mode 100644 portal/templates/resource.html diff --git a/portal/resourceview.py b/portal/resourceview.py new file mode 100644 index 00000000..1923670d --- /dev/null +++ b/portal/resourceview.py @@ -0,0 +1,84 @@ +from django.views.generic.base import TemplateView + +from manifold.core.query import Query +from unfold.page import Page + +from ui.topmenu import topmenu_items, the_user + +from plugins.googlemap import GoogleMap +from plugins.hazelnut import Hazelnut +from plugins.lists.simplelist import SimpleList + +# View for 1 platform and its details +class ResourceView(TemplateView): + template_name = "resource.html" + + def get_context_data(self, **kwargs): + page = Page(self.request) + + for key, value in kwargs.iteritems(): + print "%s = %s" % (key, value) + if key == "urn": + resource_urn=value + + resource_query = Query().get('resource')\ + .filter_by('urn', '==', resource_urn)\ + .select('type','hrn','urn', 'latitude', 'longitude', 'country') + page.enqueue_query(resource_query) + + page.expose_js_metadata() + page.expose_queries() + + resourcelist = Hazelnut( + page = page, + title = 'List', + domid = 'checkboxes', + # this is the query at the core of the slice list + query = resource_query, + query_all = resource_query, + checkboxes = False, + datatables_options = { + 'iDisplayLength' : 25, + 'bLengthChange' : True, + }, + ) + resource_as_map = GoogleMap( + page = page, + title = 'Geographic view', + domid = 'resources-map', + # tab's sons preferably turn this off + togglable = False, + query = resource_query, + query_all = resource_query, + checkboxes = False, + # center on Paris + #latitude = 49., + #longitude = 9, + #zoom = 4, + ) +# resourcelist = SimpleList( +# title = None, +# page = page, +# key = 'hrn', +# query = resource_query, +# ) + + context = super(ResourceView, self).get_context_data(**kwargs) + context['person'] = self.request.user + context['resource'] = resourcelist.render(self.request) + context['resource_as_map'] = resource_as_map.render(self.request) + + # XXX This is repeated in all pages + # more general variables expected in the template + context['title'] = 'Information about a resource' + # the menu items on the top + context['topmenu_items'] = topmenu_items('Dashboard', self.request) + # so we can sho who is logged + context['username'] = the_user(self.request) + + context.update(page.prelude_env()) + + return context + + + diff --git a/portal/templates/resource.html b/portal/templates/resource.html new file mode 100644 index 00000000..ed7beb08 --- /dev/null +++ b/portal/templates/resource.html @@ -0,0 +1,12 @@ +{% extends "layout-unfold1.html" %} + +{% block head %} + +{% endblock %} + +{% block unfold1_main %} + +

Resource

+{{resource}} +{{resource_as_map}} +{% endblock %} -- 2.43.0