X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=engine%2Fviews.py;h=caf699fe7b798852be704529104bc7a5a25d0c90;hb=b490e035bac3b74b66130548f5a4bf4a30ad8375;hp=b67197d0bf68eea6cc825d8b6e9575d84f1b1c59;hpb=5168df3527056a01fa0ba11d4f40e9039350808f;p=myslice.git diff --git a/engine/views.py b/engine/views.py index b67197d0..caf699fe 100644 --- a/engine/views.py +++ b/engine/views.py @@ -5,60 +5,59 @@ from django.template import RequestContext from django.template.loader import render_to_string from django.shortcuts import render_to_response +from django.contrib.auth.decorators import login_required + from plugins.verticallayout import VerticalLayout +from plugins.tabs import Tabs from plugins.simplelist import SimpleList from plugins.slicelist import SliceList +from plugins.quickfilter import QuickFilter +from plugins.raw import Raw -from myslice.viewutils import topmenu_items, the_user, hard_wired_slice_names +from myslice.viewutils import topmenu_items, the_user +from myslice.viewutils import hard_wired_slice_names, hard_wired_list, lorem_p, lorem, quickfilter_criterias +@login_required def test_plugin_view (request): # variables that will get passed to this template template_env = {} - # having html tags right here is not a real use case - hard_wired_list=[] - hard_wired_list.append("this hard-wired list") - hard_wired_list.append("is defined") - hard_wired_list.append("in plugins.simplelist.py") - hard_wired_list.append("which in turn relies on") - hard_wired_list.append("template widget-template.html") - hard_wired_list.append("while it should of course") - hard_wired_list.append("instead issue a query") - hard_wired_list.append("and fill the DOM in js from there") - hard_wired_list.append("it would however maybe make sense") - hard_wired_list.append("to offer the option to 'datatablify'") - hard_wired_list.append("the list from the python code") - hard_wired_list.append("just like a standard plugin can be set as visible or not") - hard_wired_list.append("") - hard_wired_list.append("OTOH and IMHO, there should be two separate and explicit subclasses of SimpleList for slices or testbeds") - - plugin_main1 = SimpleList (list=hard_wired_list, - header='Hard wired', - foo='the value for foo', - with_datatables=True) - plugin_main2 = SimpleList (hidable=True, - list=hard_wired_slice_names, - headers='Slices in main content') - layout = VerticalLayout (hidable=True, visible=True, - sons=[plugin_main1, plugin_main2] - ) -# layout.inspect_request (request,"before first render") - content_main = layout.render (request) -# layout.inspect_request (request,"after first render") - # this will be rendered as the main content - as per view-plugin.html and thus layout-myslice.html - template_env [ 'content_main' ] = content_main + main_plugin = \ + VerticalLayout ( title='title for the vertical layout', + sons = [ SimpleList (title='SimpleList and dataTables', + list=hard_wired_list, + header='Hard wired', + foo='the value for foo', + with_datatables=True, + toggled=False), + Tabs (title='Sample Tabs', + # *** we select this one to be the active tab *** + active='raw2', + sons = [ Raw (title='a raw plugin',domid='raw1', + togglable=False, + html= 3*lorem_p), + SliceList(title='a slice list', + togglable=False, + list=hard_wired_slice_names), + Raw (title='raw title',domid='raw2', + togglable=False,html=lorem) ]), + SimpleList (title='SimpleList with slice names', + list=hard_wired_slice_names, + ), + QuickFilter (list=quickfilter_criterias, + title='QuickFilter in main content') ] ) + # define 'content_main' to the template engine + template_env [ 'content_main' ] = main_plugin.render(request) ########## # lacks a/href to /slice/%s - plugin_related = SliceList (visible=True, - hidable=True, + related_plugin = SliceList (title='SliceList plugin',domid='slicelist1', with_datatables='yes', list=hard_wired_slice_names, - header='Slices' ) - content_related = plugin_related.render (request) + header='Slices') # likewise but on the side view - template_env [ 'content_related' ] = content_related + template_env [ 'content_related' ] = related_plugin.render (request) # more general variables expected in the template template_env [ 'title' ] = 'Test Plugin View' @@ -67,8 +66,7 @@ def test_plugin_view (request): # request.plugin_prelude holds a summary of the requirements() for all plugins # define {js,css}_{files,chunks} - prelude_env = request.plugin_prelude.render_env() - print 'prelude_env',prelude_env + prelude_env = request.plugin_prelude.template_env() template_env.update(prelude_env) return render_to_response ('view-plugin.html',template_env,