keep only import topmenu_items, the_user in myslice/viewutils
[myslice.git] / trash / pluginview.py
index 413e126..236744f 100644 (file)
@@ -1,88 +1,87 @@
 # Create your views here.
 
-from django.core.context_processors import csrf
-from django.template import RequestContext
-from django.template.loader import render_to_string
-from django.shortcuts import render_to_response
+from django.core.context_processors     import csrf
+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 django.contrib.auth.decorators     import login_required
 
-from engine.pluginset import PluginSet
+from unfold.page                        import Page
+from manifold.core.query                import Query
 
-from plugins.verticallayout import VerticalLayout
-from plugins.tabs import Tabs
-from plugins.staticlist import StaticList
-from plugins.quickfilter import QuickFilter
-from plugins.raw import Raw
+from plugins.stack.stack                import Stack
+from plugins.tabs.tabs                  import Tabs
+from plugins.lists.staticlist           import StaticList
+from plugins.quickfilter.quickfilter    import QuickFilter
+from plugins.querycode.querycode        import QueryCode
+from plugins.raw.raw                    import Raw
+from plugins.messages.messages          import Messages
+from plugins.hazelnut                   import Hazelnut
+from plugins.updater                    import Updater
 
-from myslice.viewutils import topmenu_items, the_user
-from myslice.viewutils import hard_wired_slice_names, hard_wired_list, lorem_p, lorem, quickfilter_criterias
+from myslice.viewutils                  import topmenu_items, the_user
+from trash.trashutils                  import hard_wired_slice_names, hard_wired_list, lorem_p, lorem, quickfilter_criterias
 
 @login_required
 def test_plugin_view (request):
 
-    pluginset = PluginSet(request)
+    page = Page(request)
     
     # variables that will get passed to this template
     template_env = {}
     
+    slicename='ple.inria.heartbeat'
+    main_query = Query.get('resource').filter_by('slice_hrn', '=', slicename).select(['network','type','hrn','hostname','sliver'])
+    # without an hazelnut, this would use use : run_it=False as nothing would listen to the results
+    page.enqueue_query (main_query, # run_it=False
+                        )
+
     main_plugin = \
-        VerticalLayout ( pluginset=pluginset,
-                         title='title for the vertical layout',
-                         sons = [ StaticList (pluginset=pluginset,
-                                              title='StaticList - with datatables - starts toggled off',
-                                              list=hard_wired_list, 
-                                              header='Hard wired header', 
-                                              foo='the value for foo',
-                                              with_datatables=True,
-                                              toggled=False),
-                                  Tabs (pluginset=pluginset,
-                                        title='Sample Tabs',
-                                        # *** we select this one to be the active tab ***
-                                        active='raw2',
-                                        sons = [ Raw (pluginset=pluginset,
-                                                      title='a raw plugin',domid='raw1',
-                                                      togglable=False,
-                                                      html= 3*lorem_p),
-                                                 StaticList(pluginset=pluginset,
-                                                            title='a slice list',
-                                                            togglable=False,
-                                                            header="static list but not togglable",
-                                                            list=hard_wired_slice_names),
-                                                 Raw (pluginset=pluginset,
-                                                      title='raw title',domid='raw2',
-                                                      togglable=False,html=lorem) ]),
-                                  StaticList (pluginset=pluginset,
-                                              title='SimpleList with slice names', 
-                                              list=hard_wired_slice_names,
-                                              ),
-                                  QuickFilter (list=quickfilter_criterias,
-                                               pluginset=pluginset,
-                                               title='QuickFilter in main content') ] )
-    # define 'content_main' to the template engine
-    template_env [ 'content_main' ] = main_plugin.render(request)
+        Stack (
+        page=page,
+        title='thestack',
+        togglable=False,
+        domid='stack',
+        sons=[ \
+            Updater (
+                    page=page,
+                    title="wont show up as non togglable by default",
+                    query=main_query,
+                    label="Update me",
+                    domid="the-updater",
+                    ),
+            # make sure the 2 things work together
+            Hazelnut (
+                    page=page,
+                    title="Slice %s - checkboxes interacting w/ updater"%slicename,
+                    query=main_query,
+                    domid="hazelnut",
+                    checkboxes=True,
+                    ),
+            Messages (
+                    page=page,
+                    title="Runtime messages",
+                    domid="msgs-pre",
+                    levels='ALL',
+                    ),
+            ])
 
-    ##########
-    related_plugin = StaticList (pluginset=pluginset,
-                                 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)
+    # 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 Plugin View' 
+    template_env [ 'title' ] = 'Single Plugin View' 
     template_env [ 'topmenu_items' ] = topmenu_items('plugin', request) 
     template_env [ 'username' ] = the_user (request) 
 
-    # we don't have anythong asynchroneous, but that doesn't hurt...
-    pluginset.exec_queue_asynchroneously ()
+    # run queries when we have any
+    page.expose_queries ()
 
-    # the prelude object in pluginset contains a summary of the requirements() for all plugins
+    # the prelude object in page contains a summary of the requirements() for all plugins
     # define {js,css}_{files,chunks}
-    prelude_env = pluginset.template_env()
+    prelude_env = page.prelude_env()
     template_env.update(prelude_env)
-    return render_to_response ('view-plugin.html',template_env,
+    return render_to_response ('view-unfold1.html',template_env,
                                context_instance=RequestContext(request))