From f7e5307d405849ff89b5a99e8072e2f5225bc37e Mon Sep 17 00:00:00 2001 From: etienne Date: Sun, 7 Feb 2010 20:55:13 +0000 Subject: Add a contact page git-svn-id: http://www.peacefrogs.net/svn/chimere/trunk@53 9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864 --- main/forms.py | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) (limited to 'main/forms.py') diff --git a/main/forms.py b/main/forms.py index ee69328..be18b2f 100644 --- a/main/forms.py +++ b/main/forms.py @@ -24,7 +24,7 @@ from django import forms from django.contrib.gis.db import models from django.utils.translation import ugettext as _ from django.contrib.auth.models import User -from django.core.mail import send_mail +from django.core.mail import EmailMessage, BadHeaderError from chimere import settings @@ -32,17 +32,38 @@ from chimere.main.models import Marker, Route, PropertyModel, Property, Area,\ News, Category from chimere.main.widgets import AreaField, PointField, TextareaWidget -def notifyStaff(geo_object): - category = unicode(geo_object.subcategory) - subject = u'[Chimère] %s %s' % (_(u"New submission for"), category) +def notifyStaff(subject, body, sender=None): + if settings.PROJECT_NAME: + subject = u'[%s] %s' % (settings.PROJECT_NAME, subject) user_list = [u.email for u in User.objects.filter(is_staff=True).exclude(email="").order_by('id')] + headers = {} + if sender: + headers['Reply-To'] = sender + email = EmailMessage(subject, body, user_list[0], user_list, + headers=headers) + try: + email.send() + except BadHeaderError: + return False + return True + +def notifySubmission(geo_object): + category = unicode(geo_object.subcategory) + subject = u'%s %s' % (_(u"New submission for"), category) message = _(u'The new item "%s" has been submited in the category: ') % \ geo_object.name + category message += "\n\n" + _(u"To valid, precise or unvalid this item: ") message += settings.BASE_URL + 'admin' message += u"\n\n--\nChimère" - send_mail(subject, message, user_list[0], user_list) + return notifyStaff(subject, message) + +class ContactForm(forms.Form): + """ + Main form for categories + """ + email = forms.EmailField(label=_("Email (optional)"), required=False) + content = forms.CharField(label=_("Object"), widget=forms.Textarea) class NewsAdminForm(forms.ModelForm): """ -- cgit v1.2.3