X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fviews.py;h=4f1ea08dffb55bfff89aa98f62d922ad614bd5bf;hb=c0c7175e6883ad9bc746692e7c71202e64ec2351;hp=f03befa9cbb91004f7d486fccc239e9d156cf5e9;hpb=e256853ef256809864927b91deb42e713baea769;p=myslice.git diff --git a/portal/views.py b/portal/views.py index f03befa9..4f1ea08d 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 @@ -22,17 +23,19 @@ 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.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" @@ -40,11 +43,12 @@ class DashboardView(TemplateView): 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') + slice_query = Query().get('user').filter_by('user_hrn', '==', user_hrn).select('user_hrn', 'slice.slice_hrn') auth_query = Query().get('network').select('network_hrn') page.enqueue_query(slice_query) page.enqueue_query(auth_query) @@ -74,7 +78,7 @@ class DashboardView(TemplateView): # 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) + context['topmenu_items'] = topmenu_items('Dashboard', self.request) # so we can sho who is logged context['username'] = the_user(self.request) @@ -149,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'] @@ -416,3 +422,60 @@ class UserValidateView(ActivationView): # DEPRECATED # p << wizard.render(request) # in portal page if possible # DEPRECATED # # DEPRECATED # return p.render() + + +# 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, + }) +