X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/1c6b6f643fb3a9f50fe2752b3b2ee3390b321d78..a7d2c58f1476916c7781866ea55abeba9a12a18a:/edumed/contact_forms.py?ds=sidebyside diff --git a/edumed/contact_forms.py b/edumed/contact_forms.py index 87fc591..8358907 100644 --- a/edumed/contact_forms.py +++ b/edumed/contact_forms.py @@ -10,6 +10,7 @@ from django.core.validators import validate_email from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ +from wtem.models import Confirmation WOJEWODZTWA = ( u'dolnośląskie', @@ -227,7 +228,7 @@ class WTEMForm(ContactForm): except ValidationError: pass else: - send_mail(mail_subject, mail_body, 'edukacjamedialna@nowoczesnapolska.org.pl', [email], + send_mail(mail_subject, mail_body, 'olimpiada@nowoczesnapolska.org.pl', [email], fail_silently=True) return contact @@ -254,6 +255,7 @@ class OlimpiadaForm(ContactForm): przewodniczacy = forms.CharField(label=u'Imię i nazwisko Przewodniczącego/Przewodniczącej', max_length=128) school = forms.CharField(label=u'Nazwa szkoły', max_length=255) school_address = forms.CharField(label=u'Adres szkoły', widget=forms.Textarea, max_length=1000) + school_wojewodztwo = forms.ChoiceField(label=u'Województwo', choices=WOJEWODZTWO_CHOICES) school_email = forms.EmailField(label=u'Adres e-mail szkoły', max_length=128) school_phone = forms.CharField(label=u'Numer telefonu szkoły', max_length=32) school_www = forms.URLField(label=u'Strona WWW szkoły', max_length=255, required=False) @@ -276,7 +278,8 @@ class OlimpiadaForm(ContactForm): @staticmethod def get_extract_fields(contact, extract_type_slug): fields = contact.body.keys() - fields.remove('student') + if 'student' in fields: + fields.remove('student') fields.extend(['contact', 'student_first_name', 'student_last_name', 'student_email']) return fields @@ -293,31 +296,32 @@ class OlimpiadaForm(ContactForm): toret[0][field_name] = val current = toret[0] - for student in contact.body['student']: - for attr in ('first_name', 'last_name', 'email'): - current['student_' + attr] = student[attr] - if current not in toret: - toret.append(current) - current = {} + if 'student' in contact.body: + for student in contact.body['student']: + for attr in ('first_name', 'last_name', 'email'): + current['student_' + attr] = student[attr] + if current not in toret: + toret.append(current) + current = {} return toret def save(self, request, formsets=None): contact = super(OlimpiadaForm, self).save(request, formsets) - mail_subject = render_to_string('contact/olimpiada/student_mail_subject.html').strip() - mail_body = render_to_string('contact/olimpiada/student_mail_body.html') for formset in formsets or []: if formset.prefix == 'student': for f in formset.forms: email = f.cleaned_data.get('email', None) - try: - validate_email(email) - except ValidationError: - pass - else: - send_mail(mail_subject, mail_body, 'edukacjamedialna@nowoczesnapolska.org.pl', [email], - fail_silently=True) - + if email: + try: + Confirmation.objects.get(email=email) + except Confirmation.DoesNotExist: + first_name = f.cleaned_data.get('first_name', None) + last_name = f.cleaned_data.get('last_name', None) + if first_name and last_name: + confirmation = Confirmation.create( + first_name=first_name, last_name=last_name, email=email, contact=contact) + confirmation.send_mail() return contact @@ -533,6 +537,7 @@ class CybernauciForm(ContactForm): class WLEMForm(ContactForm): + disabled = True form_tag = 'wlem' form_title = u"WLEM - szkolenie dla warszawskich liderów edukacji medialnej" admin_list = ['nazwisko', 'instytucja', 'contact']