Merge branch 'jordan' of ssh://git.onelab.eu/git/myslice into jordan
[myslice.git] / trash / pluginview.py
index 190533b..6d60220 100644 (file)
@@ -8,14 +8,17 @@ from django.shortcuts import render_to_response
 from django.contrib.auth.decorators import login_required
 
 from unfold.page import Page
 from django.contrib.auth.decorators import login_required
 
 from unfold.page import Page
-from manifold.manifoldquery import ManifoldQuery
+#from manifold.manifoldquery import ManifoldQuery
+from manifold.core.query import Query
 
 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.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.raw.raw import Raw
 from plugins.messages.messages import Messages
+from plugins.hazelnut.hazelnut import Hazelnut
 from plugins.updater.updater import Updater
 
 from myslice.viewutils import topmenu_items, the_user
 from plugins.updater.updater import Updater
 
 from myslice.viewutils import topmenu_items, the_user
@@ -29,30 +32,39 @@ def test_plugin_view (request):
     # variables that will get passed to this template
     template_env = {}
     
     # variables that will get passed to this template
     template_env = {}
     
-    slicename='ple.inria.omftest'
-    main_query = ManifoldQuery (action='get',
-                                subject='resource',
-                                timestamp='latest',
-                                fields=['network','type','hrn','hostname'],
-                                filters= [ [ 'slice_hrn', '=', slicename, ] ],
-                                )
+    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 = \
         Stack (
         page=page,
         title='thestack',
         togglable=False,
 
     main_plugin = \
         Stack (
         page=page,
         title='thestack',
         togglable=False,
+        domid='stack',
         sons=[ \
         sons=[ \
-            Messages (
-                page=page,
-                title="Runtime messages",
-                domid="msgs-pre",
-                ),
             Updater (
                     page=page,
             Updater (
                     page=page,
-                    title="Update me",
+                    title="wont show up as non togglable by default",
                     query=main_query,
                     label="Update me",
                     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',
                     ),
             ])
 
                     ),
             ])
 
@@ -64,8 +76,8 @@ def test_plugin_view (request):
     template_env [ 'topmenu_items' ] = topmenu_items('plugin', request) 
     template_env [ 'username' ] = the_user (request) 
 
     template_env [ 'topmenu_items' ] = topmenu_items('plugin', request) 
     template_env [ 'username' ] = the_user (request) 
 
-    # we don't have anythong asynchroneous, and manifold.js is not loaded
-#    page.exec_queue_asynchroneously ()
+    # run queries when we have any
+    page.expose_queries ()
 
     # the prelude object in page contains a summary of the requirements() for all plugins
     # define {js,css}_{files,chunks}
 
     # the prelude object in page contains a summary of the requirements() for all plugins
     # define {js,css}_{files,chunks}