From 24a8ea9c9acf07dc15e9d66fcf731327ff43f55f Mon Sep 17 00:00:00 2001
From: hardythe1
Date: Wed, 8 Oct 2014 18:09:08 +0530
Subject: added contact form & related validations
---
static/website/templates/contact.html | 47 ++++++++++++++++++++++++-----------
website/forms.py | 12 +++++++++
website/views.py | 29 +++++++++++++--------
3 files changed, 63 insertions(+), 25 deletions(-)
diff --git a/static/website/templates/contact.html b/static/website/templates/contact.html
index f96fc8a..d877435 100644
--- a/static/website/templates/contact.html
+++ b/static/website/templates/contact.html
@@ -1,26 +1,45 @@
{% extends 'website/templates/base.html' %}
+{% load widget_tweaks %}
+
{% block current %}
Contact Us
{% endblock %}
{% block content %}
-
Feel free to drop us a message regarding any of your queries.
{% if mailsent %}
Thank you for contacting us ! We will be reaching you out soon.
-{% endif %}
-
+{% else %}
+Feel free to drop us a message regarding any of your queries.
+
+
+
+
+
+
+{% endif %}
{% endblock %}
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):
--
cgit