remove the need for expose_queries, that gets done by prelude_env()
[myslice.git] / portal / sliceview.py
index 315658c..db25e64 100644 (file)
@@ -8,9 +8,8 @@ from unfold.page                     import Page
 from manifold.core.query             import Query, AnalyzedQuery
 from manifold.manifoldapi            import execute_query
 
-from ui.topmenu                      import topmenu_items, the_user
+from ui.topmenu                      import topmenu_items_live, the_user
 
-from plugins.topmenuvalidation       import TopmenuValidation
 from plugins.raw                     import Raw
 from plugins.stack                   import Stack
 from plugins.tabs                    import Tabs
@@ -60,8 +59,6 @@ class SliceView (LoginRequiredAutoLogoutView):
         config=Config()
         page.add_js_chunks ('$(function() { messages.debug("manifold URL %s"); });'%(config.manifold_url()))
 
-        page.expose_js_metadata()
-
         metadata = page.get_metadata()
         resource_md = metadata.details_by_object('resource')
         resource_fields = [column['name'] for column in resource_md['column']]
@@ -421,24 +418,6 @@ class SliceView (LoginRequiredAutoLogoutView):
                     outline_complete = True,
                     ))
     
-# topmenu animation
-# xxx all this should go into a plugin if its own with the topmenu and all...
-        query_pi_auths = Query.get('ple:user').filter_by('user_hrn', '==', '$user_hrn' ).select('pi_authorities')
-        page.enqueue_query(query_pi_auths)
-        # even though this plugin does not have any html materialization, the corresponding domid
-        # must exist because it is searched at init-time to create the JS plugin
-        # so we simply piggy-back the target button here
-        topmenuvalidation = TopmenuValidation (
-            page=page, 
-            # see above
-            domid='topmenu-validation',
-            query=query_pi_auths,
-            # this one is the target for a $.show() when the query comes back
-            button_domid="topmenu-validation")
-        # although the result does not matter, rendering is required for the JS init code to make it in the page
-        topmenuvalidation.render(request)
-# end topmenu addition
-
         # variables that will get passed to the view-unfold1.html template
         template_env = {}
         
@@ -448,20 +427,15 @@ class SliceView (LoginRequiredAutoLogoutView):
         # more general variables expected in the template
         template_env [ 'title' ] = '%(slicename)s'%locals()
         # the menu items on the top
-        template_env [ 'topmenu_items' ] = topmenu_items('Slice', request
+        template_env [ 'topmenu_items' ] = topmenu_items_live('Slice', page
         # so we can sho who is logged
         template_env [ 'username' ] = the_user (request) 
     
         # don't forget to run the requests
-        page.expose_queries ()
-    
-        # xxx create another plugin with the same query and a different layout (with_datatables)
-        # show that it worls as expected, one single api call to backend and 2 refreshed views
-    
+        page.expose_js_metadata()
         # the prelude object in page contains a summary of the requirements() for all plugins
         # define {js,css}_{files,chunks}
-        prelude_env = page.prelude_env()
-        template_env.update(prelude_env)
-        result=render_to_response ('view-unfold1.html',template_env,
+        template_env.update(page.prelude_env())
+
+        return render_to_response ('view-unfold1.html',template_env,
                                    context_instance=RequestContext(request))
-        return result