X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=trash%2Fdashboard.py;h=e996477f719ce314f8824e4859976f707ed4842a;hb=908a927353b1fd6f933bfc9e12846f78c179968f;hp=c61c6e7646782a0d5eceac91dae85f1b99a566b4;hpb=19ec09726b0265b30fb756c405c47dc789983256;p=myslice.git diff --git a/trash/dashboard.py b/trash/dashboard.py index c61c6e76..e996477f 100644 --- a/trash/dashboard.py +++ b/trash/dashboard.py @@ -7,10 +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.slicelist import SliceList +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 @@ -20,41 +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 = SliceList ( # setting visible attributes first + main_plugin = Stack ( page=page, - title='Asynchroneous SliceList', - header='slices list', - with_datatables=False, - toggled=True, - # this is the query at the core of the slice list - query=slices_query, - ) + 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, + # this is the query at the core of the slice list + 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' @@ -63,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', @@ -75,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))