+++ /dev/null
-# Create your views here.
-
-from django.template import RequestContext
-from django.shortcuts import render_to_response
-
-from django.contrib.auth.decorators import login_required
-
-from unfold.page import Page
-from manifold.manifoldquery import ManifoldQuery
-
-from plugins.stack.stack import Stack
-from plugins.hazelnut.hazelnut import Hazelnut
-from plugins.lists.slicelist import SliceList
-from plugins.querycode.querycode import QueryCode
-from plugins.quickfilter.quickfilter import QuickFilter
-
-from myslice.viewutils import quickfilter_criterias
-
-from myslice.viewutils import topmenu_items, the_user
-
-@login_required
-def hazelnut_view (request):
-
- page = Page(request)
-
- main_query = ManifoldQuery (action='get',
- subject='resource',
- timestamp='latest',
- fields=['hrn','hostname'],
- filters= [ [ 'slice_hrn', '=', 'ple.inria.omftest', ] ],
- # 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',
- )
- page.enqueue_query (main_query)
-
- main_plugin = Stack (
- page=page,
- title="global container",
- sons=[
- Hazelnut ( # setting visible attributes first
- page=page,
- title='a sample and simple hazelnut',
- # this is the query at the core of the slice list
- query=main_query,
- ),
- QueryCode (
- page=page,
- title='xmlrpc code',
- query=main_query,
- ),
- ])
-
- # variables that will get passed to the view-plugin.html template
- template_env = {}
-
- # define 'unfold1_main' to the template engine
- template_env [ 'unfold1_main' ] = main_plugin.render(request)
-
- # more general variables expected in the template
- template_env [ 'title' ] = 'Test view for hazelnut'
- # the menu items on the top
- template_env [ 'topmenu_items' ] = topmenu_items('hazelnut', request)
- # so we can sho who is logged
- template_env [ 'username' ] = the_user (request)
-
-### # ########## 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',
-### domid='sidelist',
-### with_datatables=True,
-### header='paginated main',
-### # share the query
-### query=main_query,
-### )
-### # likewise but on the side view
-### template_env [ 'unfold1_margin' ] = related_plugin.render (request)
-###
-### # add our own css in the mix
-### page.add_css_files ( 'css/hazelnut.css')
-
- # don't forget to run the requests
- page.exec_queue_asynchroneously ()
-
- # 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.prelude_env()
- template_env.update(prelude_env)
- return render_to_response ('view-plugin.html',template_env,
- context_instance=RequestContext(request))