X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fviews.py;h=dd63182594c788bcae02d09c0607da155617b41a;hb=dd6a3c82ae4bc1f7cea47551a546b2f7aeda3df6;hp=0a27fae30209f925f314072857db8373ca047b2d;hpb=7a3fcd0eed5066b3189d79729e95e98167988481;p=myslice.git diff --git a/portal/views.py b/portal/views.py index 0a27fae3..dd631825 100644 --- a/portal/views.py +++ b/portal/views.py @@ -20,15 +20,69 @@ # this program; see the file COPYING. If not, write to the Free Software # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from django.conf import settings -from django.contrib.sites.models import RequestSite -from django.contrib.sites.models import Site +from django.conf import settings +from django.contrib.sites.models import Site, RequestSite +from django.contrib import messages +from django.views.generic import View +from django.views.generic.base import TemplateView +from django.shortcuts import render +from plugins.lists.simplelist import SimpleList +from portal import signals +from portal.forms import UserRegisterForm, SliceRequestForm +from portal.util import RegistrationView, ActivationView +from portal.models import PendingUser, PendingSlice +from manifold.core.query import Query +from unfold.page import Page +from myslice.viewutils import topmenu_items, the_user -from django.shortcuts import render -from portal.forms import UserRegisterForm, SliceRequestForm -from portal.util import RegistrationView, ActivationView -from portal.models import PendingUser, PendingSlice -from portal import signals +class DashboardView(TemplateView): + template_name = "dashboard.html" + + def get_context_data(self, **kwargs): + user_hrn = 'ple.upmc.jordan_auge' + + #messages.info(self.request, 'You have logged in') + page = Page(self.request) + + # Slow... + #slice_query = Query().get('slice').filter_by('user.user_hrn', 'contains', user_hrn).select('slice_hrn') + slice_query = Query().get('user').filter_by('user_hrn', '==', user_hrn).select('slice.slice_hrn') + auth_query = Query().get('network').select('network_hrn') + page.enqueue_query(slice_query) + page.enqueue_query(auth_query) + + page.expose_queries() + + slicelist = SimpleList( + title = None, + page = page, + key = 'slice.slice_hrn', + query = slice_query, + ) + + authlist = SimpleList( + title = None, + page = page, + key = 'network_hrn', + query = auth_query, + ) + + context = super(DashboardView, self).get_context_data(**kwargs) + context['person'] = self.request.user + context['networks'] = authlist.render(self.request) + context['slices'] = slicelist.render(self.request) + + # XXX This is repeated in all pages + # more general variables expected in the template + context['title'] = 'Test view that combines various plugins' + # the menu items on the top + context['topmenu_items'] = topmenu_items('dashboard', self.request) + # so we can sho who is logged + context['username'] = the_user(self.request) + + context.update(page.prelude_env()) + + return context class UserRegisterView(RegistrationView): """ @@ -135,7 +189,7 @@ class UserRegisterView(RegistrationView): user registration. """ - return ('registration_complete', (), {}) + return ('user_register_complete', (), {}) class UserValidateView(ActivationView):