X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=engine%2Fviews.py;h=bb7ba1603fa13843804e032d128d288566a4e006;hb=3528c308c23c63774cccf92e473abed0d85893e0;hp=7b05cc7cdffaa3e179edecee71fb4b4e6d9dfd74;hpb=3304e91dc8512f723a80b0b4c26b3b910218363c;p=myslice.git diff --git a/engine/views.py b/engine/views.py index 7b05cc7c..bb7ba160 100644 --- a/engine/views.py +++ b/engine/views.py @@ -5,57 +5,57 @@ 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.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 +@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') - 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',name='vertical1', + sons = [ SimpleList (title='SimpleList and dataTables', + name='simplelist1', + list=hard_wired_list, + header='Hard wired', + foo='the value for foo', + with_datatables=True, + toggled=False), + Tabs (title='Sample Tabs',name='tabs1', + active='raw1', + sons = [ Raw (title='a raw plugin',name='raw1', + togglable=False, + html= 3*lorem_p), + SliceList(title='a slice list',name='slicelist-main', + togglable=False, + list=hard_wired_slice_names), + Raw (title='raw title',name='raw2', + togglable=False,html=lorem) ]), + SimpleList (title='SimpleList with slice names', + name='simplelist2', + list=hard_wired_slice_names, + ) ] ) + # define 'content_main' to the template engine + template_env [ 'content_main' ] = main_plugin.render(request) ########## # lacks a/href to /slice/%s - plugin_related = SimpleList (visible=True, hidable=True, - need_datatables='yes', - list=hard_wired_slice_names, - header='Slices' ) - content_related = plugin_related.render (request) + related_plugin = SliceList (title='SliceList plugin',name='slicelist1', + with_datatables='yes', + list=hard_wired_slice_names, + 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' @@ -64,7 +64,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() + prelude_env = request.plugin_prelude.template_env() template_env.update(prelude_env) return render_to_response ('view-plugin.html',template_env,