From 92422ec1289e2144667d593c0ad22c062f10008b Mon Sep 17 00:00:00 2001 From: Loic Baron Date: Fri, 23 Aug 2013 15:08:32 +0200 Subject: [PATCH] added a view for each platform, to be improved using different plugins... example: portal/platform/ple --- portal/urls.py | 4 +++- portal/views.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/portal/urls.py b/portal/urls.py index 9882845d..a57c5fd1 100644 --- a/portal/urls.py +++ b/portal/urls.py @@ -23,7 +23,7 @@ from django.conf.urls import patterns, include, url from portal import views from portal.views import DashboardView, PresViewView -from portal.views import DashboardView, PresViewView, PlatformsView +from portal.views import DashboardView, PresViewView, PlatformsView, PlatformView from portal.util import TemplateView # DEPRECATED #named_register_forms = ( @@ -46,6 +46,8 @@ urlpatterns = patterns('', #url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'), url(r'^account/?$', views.my_account), url(r'^platforms/?$', PlatformsView.as_view(), name='platforms'), + #url(r'^portal/platform/?$', PlatformView.platform_view(), name='platform'), + url(r'^platform/(?P[\w\.]+)/?$', PlatformView.as_view(), name='platform'), url(r'^acc_process/?$', views.acc_process), url(r'^register/?$', views.register_4m_f4f), #url(r'^reg_process/?$', views.reg_4m_f4f_process), diff --git a/portal/views.py b/portal/views.py index 60e149ce..5b4254ca 100644 --- a/portal/views.py +++ b/portal/views.py @@ -531,6 +531,63 @@ class PlatformsView(TemplateView): return context +# 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 + #my_acc form value processing def acc_process(request): # getting the user_id from the session [now hardcoded] -- 2.43.0