X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fviews.py;h=afed7e857d0b2fcebcb0e7b17574ffe5fec40c09;hb=99a0fe1c929e2934795fb53d0d45de7f2e49cff1;hp=597f319de72a243ce77ce93357b85e61b4f5360e;hpb=28994fa4ca7312850f9899adc67e71660a4a753d;p=myslice.git diff --git a/portal/views.py b/portal/views.py index 597f319d..afed7e85 100644 --- a/portal/views.py +++ b/portal/views.py @@ -5,6 +5,7 @@ # # Authors: # Jordan Augé +# Mohammed Yasin Rahman # Copyright 2013, UPMC Sorbonne Universités / LIP6 # # This program is free software; you can redistribute it and/or modify it under @@ -28,12 +29,13 @@ 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.forms import UserRegisterForm, SliceRequestForm, ContactForm 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.http import HttpResponseRedirect class DashboardView(TemplateView): template_name = "dashboard.html" @@ -41,9 +43,7 @@ class DashboardView(TemplateView): def get_context_data(self, **kwargs): user_hrn = 'ple.upmc.jordan_auge' - messages.info(self.request, 'You have logged in') - - + #messages.info(self.request, 'You have logged in') page = Page(self.request) # Slow... @@ -153,8 +153,10 @@ class UserRegisterView(RegistrationView): """ first_name = cleaned_data['first_name'] last_name = cleaned_data['last_name'] + affiliation= cleaned_data['affiliation'] email = cleaned_data['email'] password = cleaned_data['password1'] + #password2 = cleaned_data['password2'] keypair = cleaned_data['keypair'] @@ -420,3 +422,114 @@ class UserValidateView(ActivationView): # DEPRECATED # p << wizard.render(request) # in portal page if possible # DEPRECATED # # DEPRECATED # return p.render() + +class MyAccountView(TemplateView): + template_name = "my_account.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(MyAccountView, 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'] = 'User Profile Page' + # the menu items on the top + context['topmenu_items'] = topmenu_items('my_account', self.request) + # so we can sho who is logged + context['username'] = the_user(self.request) + + context.update(page.prelude_env()) + + return context + + + + + + + +# view for contact form +def contact(request): + if request.method == 'POST': # If the form has been submitted... + form = ContactForm(request.POST) # A form bound to the POST data + if form.is_valid(): # All validation rules pass + # Process the data in form.cleaned_data + first_name = form.cleaned_data['first_name'] + last_name = form.cleaned_data['last_name'] + affiliation = form.cleaned_data['affiliation'] + subject = form.cleaned_data['subject'] + message = form.cleaned_data['message'] + email = form.cleaned_data['email'] # email of the sender + cc_myself = form.cleaned_data['cc_myself'] + + recipients = ['yasin.upmc@gmail.com'] + if cc_myself: + recipients.append(email) + + from django.core.mail import send_mail + send_mail("Onelab user submitted a query ", [first_name,last_name,affiliation,subject,message], email, recipients) + return render(request,'contact_sent.html') # Redirect after POST + else: + form = ContactForm() # An unbound form + + return render(request, 'contact.html', { + 'form': form, + }) + + +def slice_request(request): + if request.method == 'POST': # If the form has been submitted... + form = SliceRequestForm(request.POST) # A form bound to the POST data + if form.is_valid(): # All validation rules pass + # Process the data in form.cleaned_data + slice_name = form.cleaned_data['slice_name'] + number_of_nodes = form.cleaned_data['number_of_nodes'] + type_of_nodes = form.cleaned_data['type_of_nodes'] + purpose = form.cleaned_data['purpose'] + email = form.cleaned_data['email'] # email of the sender + cc_myself = form.cleaned_data['cc_myself'] + + recipients = ['yasin.upmc@gmail.com','jordan.auge@lip6.fr'] + if cc_myself: + recipients.append(email) + + from django.core.mail import send_mail + send_mail("Onelab New Slice request form submitted", [slice_name,number_of_nodes,type_of_nodes,purpose], email, recipients) + return render(request,'slicereq_recvd.html') # Redirect after POST + else: + form = SliceRequestForm() # An unbound form + + return render(request, 'slice_request.html', { + 'form': form, + }) +