summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhardythe12014-10-08 18:09:08 +0530
committerhardythe12014-10-08 18:09:08 +0530
commit24a8ea9c9acf07dc15e9d66fcf731327ff43f55f (patch)
treee32a8608ffa6f27518fb872d5533f9a34788d1c7
parentb254584f00dd37abf8cf4d06c71a4ccb1edfb74c (diff)
downloadscipy2014-24a8ea9c9acf07dc15e9d66fcf731327ff43f55f.tar.gz
scipy2014-24a8ea9c9acf07dc15e9d66fcf731327ff43f55f.tar.bz2
scipy2014-24a8ea9c9acf07dc15e9d66fcf731327ff43f55f.zip
added contact form & related validations
-rw-r--r--static/website/templates/contact.html47
-rw-r--r--website/forms.py12
-rw-r--r--website/views.py29
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 %}
-<p>Feel free to drop us a message regarding any of your queries.</p>
{% if mailsent %}
<p>Thank you for contacting us ! We will be reaching you out soon.</p>
-{% endif %}
-<form action="{% url 'website:contact' %}" method="POST" role="form">
-{% csrf_token %}
- <label for="user_email">Your Email</label>
- <input name="user_email" id="user_email" type="text" class="form-control">
- <label for="user_name">Your Name</label>
- <input name="user_name" id="user_name" type="text" class="form-control">
- <label for="subject">Subject</label>
- <input name="subject" id="subject" type="text" class="form-control">
- <label for="message">Your Message</label><br>
- <textarea name="message" rows="4" cols="75"></textarea>
- <br><input class="btn btn-default" type="submit" value="Send">
-</form>
+{% else %}
+<p>Feel free to drop us a message regarding any of your queries.</p>
+<div class="row">
+ <div class="col-lg-8 col-md-8 col-sm-12 col-xs-12">
+ <form id="contact" action="{% url 'website:contact' %}" method="POST" role="form">{% csrf_token %}
+ <div class="form-group">
+ <label for="id_username">Name:</label>
+ {% render_field form.username class+='form-control' %}
+ {{ form.username.errors }}
+ </div>
+ <div class="form-group">
+ <label for="id_useremail">Email:</label>
+ {% render_field form.useremail class+='form-control' %}
+ {{ form.useremail.errors }}
+ </div>
+ <div class="form-group">
+ <label for="id_subject">Subject:</label>
+ {% render_field form.subject class+='form-control' %}
+ {{ form.subject.errors }}
+ </div>
+ <div class="form-group">
+ <label for="id_message">Message:</label>
+ {% render_field form.message class+='form-control' %}
+ {{ form.message.errors }}
+ </div>
+ <input class="btn btn-primary" type="submit" value="Submit">
+ </form>
+ </div> <!-- /.col -->
+</div> <!-- /.row -->
+
+{% 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):