1 # Create your views here.
3 from django.core.context_processors import csrf
4 from django.template import RequestContext
5 from django.template.loader import render_to_string
6 from django.shortcuts import render_to_response
8 from django.contrib.auth.decorators import login_required
10 from unfold.page import Page
11 from manifold.core.query import Query
13 from plugins.stack.stack import Stack
14 from plugins.tabs.tabs import Tabs
15 from plugins.lists.staticlist import StaticList
16 from plugins.quickfilter.quickfilter import QuickFilter
17 from plugins.querycode.querycode import QueryCode
18 from plugins.raw.raw import Raw
19 from plugins.messages.messages import Messages
20 from plugins.hazelnut import Hazelnut
21 from plugins.updater import Updater
23 from myslice.viewutils import topmenu_items, the_user
24 from trash.trashutils import hard_wired_slice_names, hard_wired_list, lorem_p, lorem, quickfilter_criterias
26 #might be useful or not depending on the context
28 def test_plugin_view (request):
32 page.expose_js_metadata()
34 # variables that will get passed to this template
37 slicename='ple.inria.heartbeat'
38 main_query = Query.get('resource').filter_by('slice_hrn', '=', slicename).select(['network','type','hrn','hostname','sliver'])
39 # without an hazelnut, this would use use : run_it=False as nothing would listen to the results
40 page.enqueue_query (main_query, # run_it=False
50 # this updater thing never made it to production
53 # title="Won't show up as non togglable",
56 # domid="the-updater",
58 # make sure the 2 things work together
61 title="Transient Runtime messages",
62 domid="messages-transient",
67 title="Slice %s - checkboxes interacting w/ updater"%slicename,
75 title="Inline Runtime messages",
83 title="issue messages",
86 <input type="button" id="bouton" value="Click me" />
91 page.add_js_chunks ( """
92 function issue_debug() {console.log("issue_debug");messages.debug("issue_debug");};
93 $(function(){$("#bouton").click(issue_debug);});
96 # define 'unfold1_main' to the template engine
97 template_env [ 'unfold1_main' ] = main_plugin.render(request)
99 # more general variables expected in the template
100 template_env [ 'title' ] = 'Single Plugin View'
101 template_env [ 'topmenu_items' ] = topmenu_items('plugin', request)
102 template_env [ 'username' ] = the_user (request)
104 # run queries when we have any
105 page.expose_queries ()
107 # the prelude object in page contains a summary of the requirements() for all plugins
108 # define {js,css}_{files,chunks}
109 prelude_env = page.prelude_env()
110 template_env.update(prelude_env)
111 return render_to_response ('view-unfold1.html',template_env,
112 context_instance=RequestContext(request))