keep only import topmenu_items, the_user in myslice/viewutils
[myslice.git] / trash / dashboard.py
index ef8639f..e996477 100644 (file)
@@ -7,12 +7,16 @@ from django.shortcuts import render_to_response
 
 from django.contrib.auth.decorators import login_required
 
-from engine.page import Page
-from engine.manifoldquery import ManifoldQuery
+from unfold.page import Page
+from manifold.core.query import Query
+#from manifold.manifoldquery import ManifoldQuery
 
-from plugins.verticallayout import VerticalLayout
-from plugins.slicelist import SliceList
-from plugins.querycode import QueryCode
+from plugins.stack.stack import Stack
+from plugins.lists.slicelist import SliceList
+from plugins.querycode.querycode import QueryCode
+from plugins.quickfilter.quickfilter import QuickFilter
+
+from trash.trashutils  import quickfilter_criterias
 
 # 
 from myslice.viewutils import topmenu_items, the_user
@@ -22,51 +26,47 @@ def dashboard_view (request):
     
     page = Page(request)
 
-    slices_query = ManifoldQuery (action='get',
-                                  method='slice',
-                                  timestamp='latest',
-                                  fields=['slice_hrn'],
-                                  # xxx filter : should filter on the slices the logged user can see
-                                  # we don't have the user's hrn yet
-                                  # in addition this currently returns all slices anyways
-                                  # filter = ...
-                                  sort='slice_hrn',)
+    slices_query = Query.get('slice').select('slice_hrn')
+#old#                                  # xxx filter : should filter on the slices the logged user can see
+#old#                                  # we don't have the user's hrn yet
+#old#                                  # in addition this currently returns all slices anyways
+#old#                                  # filter = ...
+#old#                                  sort='slice_hrn',)
     page.enqueue_query (slices_query)
 
-    main_plugin = VerticalLayout (
+    main_plugin = Stack (
         page=page,
         title="Putting stuff together",
         sons=[ 
+            QueryCode (
+                page=page,
+                title="Vizualize your query",
+                query=slices_query,
+                toggled=False,
+                ),
+            QuickFilter (
+                # we play with this one for demo purposes in dashboard.css
+                domid='myquickfilter',
+                page=page,
+                title='play with filters',
+                criterias=quickfilter_criterias,
+                toggled=False,
+                ),
             SliceList ( # setting visible attributes first
                 page=page,
                 title='Asynchroneous SliceList',
                 header='slices list', 
                 with_datatables=False,
-                toggled=False,
                 # this is the query at the core of the slice list
                 query=slices_query,
                 ),
-            QueryCode (
-                page=page,
-                title="Vizualize your query",
-                query=slices_query,
-                ),
             ])
 
-    # variables that will get passed to the view-plugin.html template
+    # variables that will get passed to the view-unfold2.html template
     template_env = {}
     
-    # define 'content_main' to the template engine
-    template_env [ 'content_main' ] = main_plugin.render(request)
-
-#    ########## add another plugin with the same request, on the RHS pane
-#    # lacks a/href to /slice/%s
-#    related_plugin = SliceList (title='SliceList plugin',domid='slicelist1',
-#                                with_datatables='yes', 
-#                                list=hard_wired_slice_names, 
-#                                header='Slices')
-#    # likewise but on the side view
-#    template_env [ 'content_related' ] = related_plugin.render (request)
+    # define 'unfold2_main' to the template engine
+    template_env [ 'unfold2_main' ] = main_plugin.render(request)
 
     # more general variables expected in the template
     template_env [ 'title' ] = 'Test view for a full request cycle'
@@ -75,8 +75,8 @@ def dashboard_view (request):
     # so we can sho who is logged
     template_env [ 'username' ] = the_user (request) 
 
-    ##########
-    # lacks a/href to /slice/%s
+#   ########## add another plugin with the same request, on the RHS pane
+#   will show up in the right-hand side area named 'related'
     related_plugin = SliceList (
         page=page,
         title='Same request, other layout',
@@ -87,20 +87,20 @@ def dashboard_view (request):
         query=slices_query,
         )
     # likewise but on the side view
-    template_env [ 'content_related' ] = related_plugin.render (request)
+    template_env [ 'unfold2_margin' ] = related_plugin.render (request)
     
     # add our own css in the mix
     page.add_css_files ( 'css/dashboard.css')
     
     # don't forget to run the requests
-    page.exec_queue_asynchroneously ()
+    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
 
     # the prelude object in page contains a summary of the requirements() for all plugins
     # define {js,css}_{files,chunks}
-    prelude_env = page.template_env()
+    prelude_env = page.prelude_env()
     template_env.update(prelude_env)
-    return render_to_response ('view-plugin.html',template_env,
+    return render_to_response ('view-unfold2.html',template_env,
                                context_instance=RequestContext(request))