diff options
author | hardythe1 | 2014-10-08 18:09:08 +0530 |
---|---|---|
committer | hardythe1 | 2014-10-08 18:09:08 +0530 |
commit | 24a8ea9c9acf07dc15e9d66fcf731327ff43f55f (patch) | |
tree | e32a8608ffa6f27518fb872d5533f9a34788d1c7 | |
parent | b254584f00dd37abf8cf4d06c71a4ccb1edfb74c (diff) | |
download | scipy2014-24a8ea9c9acf07dc15e9d66fcf731327ff43f55f.tar.gz scipy2014-24a8ea9c9acf07dc15e9d66fcf731327ff43f55f.tar.bz2 scipy2014-24a8ea9c9acf07dc15e9d66fcf731327ff43f55f.zip |
added contact form & related validations
-rw-r--r-- | static/website/templates/contact.html | 47 | ||||
-rw-r--r-- | website/forms.py | 12 | ||||
-rw-r--r-- | 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 %} -<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): |