Another upgrade.
[wolnelektury.git] / src / newsletter / forms.py
index ba086e3..edfaab6 100644 (file)
@@ -6,7 +6,7 @@ from django.core.validators import validate_email
 from django.forms import Form, BooleanField
 from django.forms.fields import EmailField
 from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from newsletter.subscribe import subscribe
 from .models import Newsletter
 
@@ -14,19 +14,27 @@ from .models import Newsletter
 class NewsletterForm(Form):
     email_field = 'email'
     agree_newsletter = BooleanField(
-        required=False, initial=False, label=_('I want to receive Wolne Lektury\'s newsletter.'))
+        required=False, initial=False, label=_('I want to receive Wolne Lektury\'s newsletter.'), label_suffix=False)
     mailing = False
     mailing_field = 'agree_newsletter'
     newsletter = None
 
     data_processing_part1 = '''\
-Administratorem danych osobowych jest Fundacja Nowoczesna Polska (ul. Marszałkowska 84/92 lok. 125, 00-514 Warszawa).
+Administratorem danych osobowych jest Fundacja Wolne Lektury (ul. Marszałkowska 84/92 lok. 125, 00-514 Warszawa).
 Podanie danych osobowych jest dobrowolne.'''
     data_processing_part2 = '''Dane są przetwarzane w zakresie niezbędnym do wysyłania newslettera odbiorcom.'''
     data_processing_part3 = '''\
 Osobom, których dane są zbierane, przysługuje prawo dostępu do treści swoich danych oraz ich poprawiania.
-Więcej informacji w <a href="">polityce prywatności.</a>'''
+Więcej informacji w <a href="https://nowoczesnapolska.org.pl/prywatnosc/">polityce prywatności.</a>'''
 
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        # Move the newsletter field to the end.
+        if 'agree_newsletter' in self.fields:
+            f = self.fields['agree_newsletter']
+            del self.fields['agree_newsletter']
+            self.fields['agree_newsletter'] = f
+    
     @property
     def data_processing(self):
         return mark_safe('%s %s %s' % (self.data_processing_part1, self.data_processing_part2, self.data_processing_part3))
@@ -36,11 +44,6 @@ Więcej informacji w <a href="">polityce prywatności.</a>'''
         if not newsletter:
             return
 
-        try:
-            # multiple inheritance mode
-            super(NewsletterForm, self).save(*args, **kwargs)
-        except AttributeError:
-            pass
         if not (self.mailing or self.cleaned_data.get(self.mailing_field)):
             return
         email = self.cleaned_data[self.email_field]
@@ -55,6 +58,7 @@ Więcej informacji w <a href="">polityce prywatności.</a>'''
 class SubscribeForm(NewsletterForm):
     mailing = True
     agree_newsletter = None
+    required_css_class = 'required'
 
     email = EmailField(label=_('email address'))