X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=engine%2Fviews.py;h=caf699fe7b798852be704529104bc7a5a25d0c90;hb=b490e035bac3b74b66130548f5a4bf4a30ad8375;hp=0f0309c9902b07681a1b2f9cfe68493b5c29dff8;hpb=2ebfbd481c27aa5837064383ec20d48c44f8593a;p=myslice.git
diff --git a/engine/views.py b/engine/views.py
index 0f0309c9..caf699fe 100644
--- a/engine/views.py
+++ b/engine/views.py
@@ -5,50 +5,70 @@ 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):
- 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',
- foo='the value for foo')
- 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',
+ 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 = 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',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)
-
+ # 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',
- 'topmenu_items': topmenu_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))