diff options
Diffstat (limited to 'website')
-rw-r--r-- | website/forms.py | 12 | ||||
-rw-r--r-- | website/views.py | 29 |
2 files changed, 30 insertions, 11 deletions
diff --git a/website/forms.py b/website/forms.py index 80d7a39..c5f894f 100644 --- a/website/forms.py +++ b/website/forms.py @@ -68,3 +68,15 @@ class ProposalForm(forms.ModelForm): elif attachment.size > (5*1024*1024): raise forms.ValidationError('File size exceeds 5MB') return attachment + +class ContactUsForm(forms.Form): + useremail = forms.EmailField() + username = forms.CharField() + subject = forms.CharField() + message = forms.CharField(widget=forms.Textarea(attrs={'cols': 75, 'rows': 4})) + + + def clean_useremail(self): + useremail = self.cleaned_data.get('useremail') + validate_email(useremail) + return useremail diff --git a/website/views.py b/website/views.py index ce44011..359eec3 100644 --- a/website/views.py +++ b/website/views.py @@ -5,7 +5,7 @@ from django.shortcuts import render from django.template import RequestContext from django.core.mail import send_mail -from website.forms import UserLoginForm, UserRegisterForm, ProposalForm +from website.forms import UserLoginForm, UserRegisterForm, ProposalForm, ContactUsForm from website.models import Proposal def home(request): @@ -18,17 +18,24 @@ def venue(request): return render(request, 'website/templates/venue.html') def contact(request): + context = {} if request.method == "POST": - context = {} - context.update(csrf(request)) - from_email = request.POST['user_email'] - to = ("scipy@fossee.in",) - subject = request.POST['subject'] - message = request.POST['message'] - send_mail(subject, message, from_email, to, fail_silently=True) - context['mailsent'] = True - return render(request, 'website/templates/contact.html', context) - return render(request, 'website/templates/contact.html') + form = ContactUsForm(request.POST) + if form.is_valid(): + form = form.cleaned_data + from_email = form['useremail'] + to = ('scipy@fossee.in',) + subject = form['subject'] + "-" + form['username'] + message = form['message'] + send_mail(subject, message, from_email, to, fail_silently=True) + context['mailsent'] = True + return render(request, 'website/templates/contact.html', context) + else: + context['form'] = form + return render(request, 'website/templates/contact.html', context) + form = ContactUsForm() + context['form'] = form + return render(request, 'website/templates/contact.html', context) def register(request): |