X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=engine%2Fviews.py;h=bb7ba1603fa13843804e032d128d288566a4e006;hb=3528c308c23c63774cccf92e473abed0d85893e0;hp=a6f741a7ffb4fa3c18ac3cb3fcf833b913f78961;hpb=ee4bff70dd38e334edb0216b3c27a90facfc6244;p=myslice.git diff --git a/engine/views.py b/engine/views.py index a6f741a7..bb7ba160 100644 --- a/engine/views.py +++ b/engine/views.py @@ -5,45 +5,68 @@ 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 menu_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): - 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_main = SimpleList (visible=True, hidable=True, list=hard_wired_list, header='Hard wired') - content_main = plugin_main.render (request) + # variables that will get passed to this template + template_env = {} + + 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' ] = related_plugin.render (request) - + # more general variables expected in the template + template_env [ 'title' ] = 'Test Plugin View' + template_env [ 'topmenu_items' ] = topmenu_items('plugin', request) + template_env [ 'username' ] = the_user (request) + + # request.plugin_prelude holds a summary of the requirements() for all plugins + # define {js,css}_{files,chunks} + prelude_env = request.plugin_prelude.template_env() + template_env.update(prelude_env) - return render_to_response ('view-plugin.html', - {'title': 'Test Plugin View', - 'menu_items': menu_items('plugin', request), - 'content_main' : content_main, - 'content_related' : content_related, - 'username' : the_user (request), - }, + return render_to_response ('view-plugin.html',template_env, context_instance=RequestContext(request))