Change donation form
[wolnelektury.git] / src / club / forms.py
index dd088f7..e096303 100644 (file)
@@ -1,9 +1,8 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from decimal import Decimal
 from django import forms
 #
 from decimal import Decimal
 from django import forms
-from django.utils.translation import gettext as _
 from newsletter.forms import NewsletterForm
 from . import models, payment_methods
 from .payu.forms import CardTokenForm
 from newsletter.forms import NewsletterForm
 from . import models, payment_methods
 from .payu.forms import CardTokenForm
@@ -32,9 +31,12 @@ class DonationStep1Form(forms.ModelForm):
             'monthly'
             ]
 
             'monthly'
             ]
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, *args, referer=None, **kwargs):
+        self.referer = referer
         super().__init__(*args, **kwargs)
         club = models.Club.objects.first()
         super().__init__(*args, **kwargs)
         club = models.Club.objects.first()
+        if self.instance.is_custom_amount():
+            self.fields['custom_amount'].initial = int(self.instance.amount)
         if club is not None:
             self.fields['custom_amount'].widget.attrs['min'] = club.min_amount
 
         if club is not None:
             self.fields['custom_amount'].widget.attrs['min'] = club.min_amount
 
@@ -49,6 +51,10 @@ class DonationStep1Form(forms.ModelForm):
 
         return state
 
 
         return state
 
+    def save(self, *args, **kwargs):
+        if self.referer is not None:
+            self.instance.source = self.referer
+        return super().save(*args, **kwargs)
 
 
 class DonationStep2Form(forms.ModelForm, NewsletterForm):
 
 
 class DonationStep2Form(forms.ModelForm, NewsletterForm):
@@ -65,13 +71,11 @@ class DonationStep2Form(forms.ModelForm, NewsletterForm):
             'monthly': forms.HiddenInput,
         }
     
             'monthly': forms.HiddenInput,
         }
     
-    def __init__(self, referer=None, **kwargs):
-        self.referer = referer
+    def __init__(self, **kwargs):
         super().__init__(**kwargs)
 
         self.fields['first_name'].required = True
         self.fields['last_name'].required = True
         super().__init__(**kwargs)
 
         self.fields['first_name'].required = True
         self.fields['last_name'].required = True
-        self.fields['phone'].required = True
         
         self.consent = []
         for c in models.Consent.objects.filter(active=True).order_by('order'):
         
         self.consent = []
         for c in models.Consent.objects.filter(active=True).order_by('order'):
@@ -84,11 +88,8 @@ class DonationStep2Form(forms.ModelForm, NewsletterForm):
                 c, key, (lambda k: lambda: self[k])(key)
             ))
 
                 c, key, (lambda k: lambda: self[k])(key)
             ))
 
-
-
     def save(self, *args, **kwargs):
         NewsletterForm.save(self, *args, **kwargs)
     def save(self, *args, **kwargs):
         NewsletterForm.save(self, *args, **kwargs)
-        self.instance.source = self.referer or ''
         instance = super().save(*args, **kwargs)
 
         consents = []
         instance = super().save(*args, **kwargs)
 
         consents = []