From 5fa503e8ad5b16353ddb8b88eaa914c7a4ee5748 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Wed, 4 Sep 2013 15:09:20 +0200 Subject: [PATCH] platformsview.py --- portal/platformsview.py | 61 +++++++++++++++++++++++++++++++++++++++++ portal/urls.py | 3 +- portal/views.py | 57 +------------------------------------- 3 files changed, 64 insertions(+), 57 deletions(-) create mode 100644 portal/platformsview.py diff --git a/portal/platformsview.py b/portal/platformsview.py new file mode 100644 index 00000000..7c83d942 --- /dev/null +++ b/portal/platformsview.py @@ -0,0 +1,61 @@ +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 platforms +class PlatformsView(TemplateView): + template_name = "platforms.html" + + def get_context_data(self, **kwargs): + page = Page(self.request) + + #network_query = Query().get('local:platform').filter_by('disabled', '==', '0').select('platform','platform_longname','gateway_type') + network_query = Query().get('local:platform').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(PlatformsView, 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 diff --git a/portal/urls.py b/portal/urls.py index 05c84888..47a75f5a 100644 --- a/portal/urls.py +++ b/portal/urls.py @@ -22,7 +22,8 @@ from django.conf.urls import patterns, include, url from portal import views -from portal.views import PresViewView, PlatformsView, PlatformView, ValidatePendingView, AccountView # UserRegisterView, UserValidateView +from portal.views import PresViewView, PlatformView, ValidatePendingView, AccountView # UserRegisterView, UserValidateView +from portal.platformsview import PlatformsView from portal.dashboardview import DashboardView from portal.util import TemplateView diff --git a/portal/views.py b/portal/views.py index d8c5501f..04dbec5a 100644 --- a/portal/views.py +++ b/portal/views.py @@ -43,8 +43,8 @@ from portal.forms import SliceRequestForm, ContactForm from portal.util import RegistrationView, ActivationView from portal.models import PendingUser, PendingSlice from portal.actions import authority_get_pi_emails, get_request_by_authority, manifold_add_user, manifold_update_user -from manifold.core.query import Query from manifold.manifoldapi import execute_query +from manifold.core.query import Query from unfold.page import Page from myslice.viewutils import topmenu_items, the_user from django.http import HttpResponseRedirect, HttpResponse @@ -52,61 +52,6 @@ from django.http import HttpResponseRedirect, HttpResponse from M2Crypto import Rand, RSA, BIO import os, re -# View for platforms -class PlatformsView(TemplateView): - template_name = "platforms.html" - - def get_context_data(self, **kwargs): - page = Page(self.request) - - #network_query = Query().get('local:platform').filter_by('disabled', '==', '0').select('platform','platform_longname','gateway_type') - network_query = Query().get('local:platform').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(PlatformsView, 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 - - - # View for 1 platform and its details class PlatformView(TemplateView): template_name = "platform.html" -- 2.43.0