myslice/config becomes myslice/configengine to avoid confusion
[myslice.git] / portal / resourceview.py
index 1923670..ac1813c 100644 (file)
@@ -1,20 +1,24 @@
-from django.views.generic.base   import TemplateView
+from manifold.core.query        import Query
+from unfold.page                import Page
 
-from manifold.core.query         import Query
-from unfold.page                 import Page
+from unfold.loginrequired       import FreeAccessView
+from ui.topmenu                 import topmenu_items_live, the_user
 
-from ui.topmenu                  import topmenu_items, the_user
+from plugins.googlemap          import GoogleMap
+from plugins.querytable         import QueryTable
+from plugins.lists.simplelist   import SimpleList
+from plugins.slicestat          import SliceStat
 
-from plugins.googlemap           import GoogleMap
-from plugins.hazelnut            import Hazelnut
-from plugins.lists.simplelist    import SimpleList
+from myslice.configengine       import ConfigEngine
 
 # View for 1 platform and its details
-class ResourceView(TemplateView):
+class ResourceView(FreeAccessView):
     template_name = "resource.html"
 
     def get_context_data(self, **kwargs):
         page = Page(self.request)
+        
+        page.add_js_files  ( [ "js/common.functions.js" ] )
 
         for key, value in kwargs.iteritems():
             print "%s = %s" % (key, value)       
@@ -23,13 +27,12 @@ class ResourceView(TemplateView):
                 
         resource_query  = Query().get('resource')\
             .filter_by('urn', '==', resource_urn)\
-            .select('type','hrn','urn', 'latitude', 'longitude', 'country')
+            .select('hostname','type','hrn','urn', 'latitude', 'longitude', 'country')
         page.enqueue_query(resource_query)
 
         page.expose_js_metadata()
-        page.expose_queries()
 
-        resourcelist = Hazelnut(
+        resourcelist = QueryTable(
             page  = page,
             title = 'List',
             domid = 'checkboxes',
@@ -47,9 +50,10 @@ class ResourceView(TemplateView):
             title      = 'Geographic view',
             domid      = 'resources-map',
             # tab's sons preferably turn this off
-            togglable  = False,
+            togglable  = True,
             query      = resource_query,
             query_all  = resource_query,
+            googlemap_api_key = ConfigEngine().googlemap_api_key(),
             checkboxes = False,
             # center on Paris
             #latitude   = 49.,
@@ -63,16 +67,25 @@ class ResourceView(TemplateView):
 #            query = resource_query,
 #        )
 
+        resource_stats = SliceStat(
+            title = None,
+            page  = page,
+            stats = 'node',
+            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)
+        context['resource_stats'] = resource_stats.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)
+        context['topmenu_items'] = topmenu_items_live(None, page)
         # so we can sho who is logged
         context['username'] = the_user(self.request)