annotate contact/forms.py @ 861:e4f8d87c3d30

Configure Markdown logger to reduce noise in logs. Markdown is logging at the INFO level whenever it loads an extension. This looks like it has been fixed in master at GitHub. But until then we will explicitly configure the MARKDOWN logger to log at WARNING or higher.
author Brian Neal <bgneal@gmail.com>
date Mon, 01 Dec 2014 18:36:27 -0600
parents 38db6ec61af3
children 79a71b9d0a2a
rev   line source
gremmie@1 1 """forms for the contact application"""
gremmie@1 2
gremmie@1 3 from django import forms
gremmie@1 4 from django.conf import settings
gremmie@1 5 from django.template.loader import render_to_string
gremmie@1 6 from django.contrib.sites.models import Site
gremmie@1 7 from core.functions import send_mail
gremmie@1 8
gremmie@1 9
gremmie@1 10 class ContactForm(forms.Form):
bgneal@819 11 """Form used to contact the website admins"""
bgneal@819 12 name=forms.CharField(label="Your Name", max_length=61,
bgneal@819 13 widget=forms.TextInput(attrs={'size': 50 }))
bgneal@819 14 email=forms.EmailField(label="Your Email",
bgneal@819 15 widget=forms.TextInput(attrs={'size': 50 }))
bgneal@819 16 subject=forms.CharField(max_length=64,
bgneal@819 17 widget=forms.TextInput(attrs={'size': 50 }))
bgneal@819 18 honeypot=forms.CharField(max_length=64, required=False,
bgneal@819 19 label='If you enter anything in this field your message will be treated as spam')
bgneal@819 20 message=forms.CharField(label="Your Message",
bgneal@819 21 widget=forms.Textarea(attrs={'rows': 16, 'cols': 50}),
bgneal@819 22 max_length=3000)
gremmie@1 23
bgneal@819 24 recipient_list = [mail_tuple[1] for mail_tuple in settings.MANAGERS]
gremmie@1 25
bgneal@819 26 def clean_honeypot(self):
bgneal@819 27 value = self.cleaned_data['honeypot']
bgneal@819 28 if value:
bgneal@819 29 raise forms.ValidationError(self.fields['honeypot'].label)
bgneal@819 30 return value
gremmie@1 31
bgneal@819 32 def save(self):
bgneal@819 33 # Send the feedback message email
gremmie@1 34
bgneal@819 35 site = Site.objects.get_current()
gremmie@1 36
bgneal@819 37 msg = render_to_string('contact/contact_email.txt', {
bgneal@819 38 'site_name': site.name,
bgneal@819 39 'user_name': self.cleaned_data['name'],
bgneal@819 40 'user_email': self.cleaned_data['email'],
bgneal@819 41 'message': self.cleaned_data['message'],
bgneal@819 42 })
gremmie@1 43
bgneal@819 44 subject = site.name + ' Feedback: ' + self.cleaned_data['subject']
bgneal@819 45 send_mail(subject, msg, self.cleaned_data['email'], self.recipient_list)