PlatformView in platformview.py
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 4 Sep 2013 15:45:56 +0000 (17:45 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Wed, 4 Sep 2013 15:45:56 +0000 (17:45 +0200)
myslice/urls.py
portal/platformview.py [new file with mode: 0644]
portal/urls.py
portal/views.py

index 891eaaf..79a808d 100644 (file)
@@ -10,12 +10,16 @@ from django.template.loader import add_to_builtins
 add_to_builtins('insert_above.templatetags.insert_tags')
 
 import portal.sliceview
+import portal.platformsview
+import portal.dashboardview
 
 # main entry point (set to the / URL)
-default_view='trash.pluginview.test_plugin_view'
-#default_view='portal.views.PlatformsView'
+## beware before adopting this one
+# if anything goes wrong in this page you end up in an endless cycle
+#default_view=portal.platformsview.PlatformsView.as_view()
+default_view='auth.views.login_user'
 # where to be redirected after login
-after_login_view='trash.dashboard.dashboard_view'
+after_login_view=portal.dashboardview.DashboardView.as_view()
 
 urlpatterns = patterns(
     '',
diff --git a/portal/platformview.py b/portal/platformview.py
new file mode 100644 (file)
index 0000000..a432bc1
--- /dev/null
@@ -0,0 +1,70 @@
+from django.views.generic.base   import TemplateView
+
+from manifold.core.query         import Query
+from unfold.page                 import Page
+
+from myslice.viewutils           import topmenu_items, the_user
+
+from plugins.hazelnut            import Hazelnut
+
+# View for 1 platform and its details
+class PlatformView(TemplateView):
+    template_name = "platform.html"
+
+    def get_context_data(self, **kwargs):
+        page = Page(self.request)
+
+        for key, value in kwargs.iteritems():
+            print "%s = %s" % (key, value)       
+            if key == "platformname":
+                platformname=value
+                
+        network_query  = Query().get('local:platform')\
+            .filter_by('platform', '==', platformname)\
+            .select('platform','platform_longname','gateway_type')
+        page.enqueue_query(network_query)
+
+        page.expose_js_metadata()
+        page.expose_queries()
+        networklist = Hazelnut(
+            page  = page,
+            title = 'List',
+            domid = 'checkboxes',
+            # this is the query at the core of the slice list
+            query = network_query,
+            query_all = network_query,
+            checkboxes = False,
+            datatables_options = {
+            # for now we turn off sorting on the checkboxes columns this way
+            # this of course should be automatic in hazelnut
+            'aoColumns'      : [None, None, None, None, {'bSortable': False}],
+            'iDisplayLength' : 25,
+            'bLengthChange'  : True,
+            },
+        )
+#
+#        networklist = SimpleList(
+#            title = None,
+#            page  = page,
+#            key   = 'platform',
+#            query = network_query,
+#        )
+
+        context = super(PlatformView, self).get_context_data(**kwargs)
+        context['person']   = self.request.user
+        context['networks'] = networklist.render(self.request)
+
+        # XXX This is repeated in all pages
+        # more general variables expected in the template
+        context['title'] = 'Platforms connected to MySlice'
+        # the menu items on the top
+        context['topmenu_items'] = topmenu_items('Platforms', self.request)
+        # so we can sho who is logged
+        context['username'] = the_user(self.request)
+
+        context.update(page.prelude_env())
+
+        return context
+
+
+
index 47a75f5..c7135ec 100644 (file)
@@ -22,8 +22,9 @@
 
 from django.conf.urls           import patterns, include, url
 from portal                     import views
-from portal.views               import PresViewView, PlatformView, ValidatePendingView, AccountView # UserRegisterView, UserValidateView
+from portal.views               import PresViewView, ValidatePendingView, AccountView # UserRegisterView, UserValidateView
 from portal.platformsview       import PlatformsView
+from portal.platformview        import PlatformView
 from portal.dashboardview       import DashboardView
 from portal.util                import TemplateView
 
@@ -47,7 +48,6 @@ urlpatterns = patterns('',
     #url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'),
     url(r'^account/?$', AccountView.as_view(), name='account'),
     url(r'^platforms/?$', PlatformsView.as_view(), name='platforms'),
-    #url(r'^portal/platform/?$', PlatformView.platform_view(), name='platform'),
     url(r'^platform/(?P<platformname>[\w\.]+)/?$', PlatformView.as_view(), name='platform'),
     url(r'^account/account_process/?$', views.account_process),
     url(r'^register/?$', views.register_4m_f4f),
index 9980729..ee867a6 100644 (file)
@@ -52,65 +52,6 @@ from django.http                 import HttpResponseRedirect, HttpResponse
 from M2Crypto                    import Rand, RSA, BIO
 import os, re
 
-# View for 1 platform and its details
-class PlatformView(TemplateView):
-    template_name = "platform.html"
-
-    def get_context_data(self, **kwargs):
-        page = Page(self.request)
-
-        for key, value in kwargs.iteritems():
-            print "%s = %s" % (key, value)       
-            if key == "platformname":
-                platformname=value
-                
-        network_query  = Query().get('local:platform').filter_by('platform', '==', platformname).select('platform','platform_longname','gateway_type')
-        page.enqueue_query(network_query)
-
-        page.expose_js_metadata()
-        page.expose_queries()
-        networklist = Hazelnut(
-            page  = page,
-            title = 'List',
-            domid = 'checkboxes',
-            # this is the query at the core of the slice list
-            query = network_query,
-            query_all = network_query,
-            checkboxes = False,
-            datatables_options = {
-            # for now we turn off sorting on the checkboxes columns this way
-            # this of course should be automatic in hazelnut
-            'aoColumns'      : [None, None, None, None, {'bSortable': False}],
-            'iDisplayLength' : 25,
-            'bLengthChange'  : True,
-            },
-        )
-#
-#        networklist = SimpleList(
-#            title = None,
-#            page  = page,
-#            key   = 'platform',
-#            query = network_query,
-#        )
-
-        context = super(PlatformView, self).get_context_data(**kwargs)
-        context['person']   = self.request.user
-        context['networks'] = networklist.render(self.request)
-
-        # XXX This is repeated in all pages
-        # more general variables expected in the template
-        context['title'] = 'Platforms connected to MySlice'
-        # the menu items on the top
-        context['topmenu_items'] = topmenu_items('Platforms', self.request)
-        # so we can sho who is logged
-        context['username'] = the_user(self.request)
-
-        context.update(page.prelude_env())
-
-        return context
-
-
-
 #class for my_account
 class AccountView(TemplateView):
     template_name = "my_account.html"