X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/6e28d2a2680de3290eaed5e90cc128d33fe27046..bf852b7e6f2828e0ef53440b69247e10b782e8cd:/contact/forms.py diff --git a/contact/forms.py b/contact/forms.py index de4cd74..fb60b9b 100644 --- a/contact/forms.py +++ b/contact/forms.py @@ -7,6 +7,8 @@ from django import forms from django.template.loader import render_to_string from django.template import RequestContext from django.utils.translation import ugettext_lazy as _ + +from contact import mailing from .models import Attachment, Contact @@ -33,9 +35,12 @@ class ContactForm(forms.Form): form_title = _('Contact form') submit_label = _('Submit') admin_list = None + notify_on_register = True + notify_user = True + mailing_field = None required_css_class = 'required' - contact = forms.CharField(max_length=128) + contact = forms.EmailField(label=_('E-mail'), max_length=128) def __init__(self, *args, **kwargs): key = kwargs.pop('key', None) @@ -76,33 +81,36 @@ class ContactForm(forms.Form): 'form': self, } context = RequestContext(request) - mail_managers_subject = render_to_string([ - 'contact/%s/mail_managers_subject.txt' % self.form_tag, - 'contact/mail_managers_subject.txt', - ], dictionary, context).strip() - mail_managers_body = render_to_string([ - 'contact/%s/mail_managers_body.txt' % self.form_tag, - 'contact/mail_managers_body.txt', - ], dictionary, context) - mail_managers(mail_managers_subject, mail_managers_body, - fail_silently=True) + if self.notify_on_register: + mail_managers_subject = render_to_string([ + 'contact/%s/mail_managers_subject.txt' % self.form_tag, + 'contact/mail_managers_subject.txt', + ], dictionary, context).strip() + mail_managers_body = render_to_string([ + 'contact/%s/mail_managers_body.txt' % self.form_tag, + 'contact/mail_managers_body.txt', + ], dictionary, context) + mail_managers(mail_managers_subject, mail_managers_body, fail_silently=True) try: validate_email(contact.contact) except ValidationError: pass else: - mail_subject = render_to_string([ - 'contact/%s/mail_subject.txt' % self.form_tag, - 'contact/mail_subject.txt', - ], dictionary, context).strip() - mail_body = render_to_string([ - 'contact/%s/mail_body.txt' % self.form_tag, - 'contact/mail_body.txt', - ], dictionary, context) - send_mail(mail_subject, mail_body, - 'no-reply@%s' % site.domain, - [contact.contact], - fail_silently=True) + if self.notify_user: + mail_subject = render_to_string([ + 'contact/%s/mail_subject.txt' % self.form_tag, + 'contact/mail_subject.txt', + ], dictionary, context).strip() + mail_body = render_to_string([ + 'contact/%s/mail_body.txt' % self.form_tag, + 'contact/mail_body.txt', + ], dictionary, context) + send_mail(mail_subject, mail_body, + 'no-reply@nowoczesnapolska.org.pl', + [contact.contact], + fail_silently=True) + if self.mailing_field and self.cleaned_data[self.mailing_field]: + mailing.subscribe(contact.contact) return contact