Quellcode durchsuchen

Merge pull request #2009 from john-parton/issue/2008/expirymonth_attribute_error

Allow BankcardExpiryMonthField to have required=False
master
Alexander Gaevsky vor 9 Jahren
Ursprung
Commit
ca32efe36b
2 geänderte Dateien mit 10 neuen und 1 gelöschten Zeilen
  1. 1
    1
      src/oscar/apps/payment/forms.py
  2. 9
    0
      tests/unit/payment/form_tests.py

+ 1
- 1
src/oscar/apps/payment/forms.py Datei anzeigen

@@ -133,7 +133,7 @@ class BankcardExpiryMonthField(BankcardMonthField):
133 133
 
134 134
     def clean(self, value):
135 135
         expiry_date = super(BankcardExpiryMonthField, self).clean(value)
136
-        if date.today() > expiry_date:
136
+        if expiry_date and date.today() > expiry_date:
137 137
             raise forms.ValidationError(
138 138
                 _("The expiration date you entered is in the past."))
139 139
         return expiry_date

+ 9
- 0
tests/unit/payment/form_tests.py Datei anzeigen

@@ -102,6 +102,15 @@ class TestExpiryMonthField(TestCase):
102 102
                           self.field.initial)
103 103
 
104 104
 
105
+class TestOptionalExpiryMonthField(TestExpiryMonthField):
106
+
107
+    def setUp(self):
108
+        self.field = forms.BankcardExpiryMonthField(required=False)
109
+
110
+    def test_accepts_none(self):
111
+        self.field.clean(None)
112
+
113
+
105 114
 class TestCCVField(TestCase):
106 115
     """CCV field"""
107 116
 

Laden…
Abbrechen
Speichern