direct debits
authorRadek Czajka <rczajka@rczajka.pl>
Tue, 15 Jun 2021 13:29:59 +0000 (15:29 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Tue, 15 Jun 2021 13:29:59 +0000 (15:29 +0200)
13 files changed:
src/club/admin.py
src/club/locale/de/LC_MESSAGES/django.po
src/club/locale/en/LC_MESSAGES/django.po
src/club/locale/es/LC_MESSAGES/django.po
src/club/locale/fr/LC_MESSAGES/django.po
src/club/locale/it/LC_MESSAGES/django.po
src/club/locale/lt/LC_MESSAGES/django.po
src/club/locale/pl/LC_MESSAGES/django.mo
src/club/locale/pl/LC_MESSAGES/django.po
src/club/locale/ru/LC_MESSAGES/django.po
src/club/locale/uk/LC_MESSAGES/django.po
src/club/migrations/0028_directdebit.py [new file with mode: 0644]
src/club/models.py

index 0a23c20..4e85d4d 100644 (file)
@@ -136,3 +136,23 @@ admin.site.register(models.PayUOrder, PayUOrderAdmin)
 
 
 admin.site.register(models.Ambassador)
+
+
+
+@admin.register(models.DirectDebit)
+class DirectDebitAdmin(admin.ModelAdmin):
+    list_display = ['date', 'amount', 'first_name', 'last_name']
+    fields = [
+        ('first_name', 'sex', 'date_of_birth'),
+        'last_name',
+        ('street', 'building'),
+        ('town', 'flat'),
+        ('postal_code', 'phone'),
+        'email',
+        'iban',
+        'payment_id',
+        'agree_newsletter',
+        'date',
+        'amount'
+    ]
+    
index b0d70e6..5842795 100644 (file)
@@ -29,7 +29,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -66,133 +66,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -314,11 +318,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -333,7 +337,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -387,7 +391,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
index b0d70e6..5842795 100644 (file)
@@ -29,7 +29,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -66,133 +66,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -314,11 +318,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -333,7 +337,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -387,7 +391,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
index b0d70e6..5842795 100644 (file)
@@ -29,7 +29,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -66,133 +66,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -314,11 +318,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -333,7 +337,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -387,7 +391,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
index 74a58dc..6b253e6 100644 (file)
@@ -29,7 +29,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -66,133 +66,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -314,11 +318,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -333,7 +337,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -387,7 +391,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
index b0d70e6..5842795 100644 (file)
@@ -29,7 +29,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -66,133 +66,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -314,11 +318,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -333,7 +337,7 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -387,7 +391,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
index e70c694..b9cf436 100644 (file)
@@ -31,7 +31,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -68,133 +68,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -316,11 +320,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -337,7 +341,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -393,7 +397,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
index c067931..c3026be 100644 (file)
Binary files a/src/club/locale/pl/LC_MESSAGES/django.mo and b/src/club/locale/pl/LC_MESSAGES/django.mo differ
index 02f7568..11f9830 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2021-05-19 15:02+0200\n"
+"PO-Revision-Date: 2021-06-15 15:28+0200\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: pl\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
 "%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
 "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
-"X-Generator: Poedit 2.3\n"
+"X-Generator: Poedit 2.4.1\n"
 
 #: club/admin.py:46
 msgid "payment complete"
@@ -80,7 +80,7 @@ msgstr "email"
 msgid "membership"
 msgstr "członkostwo"
 
-#: club/models.py:51
+#: club/models.py:51 club/models.py:360
 msgid "amount"
 msgstr "kwota"
 
@@ -208,6 +208,74 @@ msgstr "ambasadorowie"
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
 msgstr ""
 
+#: club/models.py:342
+msgid "first name"
+msgstr "imię"
+
+#: club/models.py:343
+msgid "last name"
+msgstr "nazwisko"
+
+#: club/models.py:344
+msgid "sex"
+msgstr "płeć"
+
+#: club/models.py:348
+msgid "date of birth"
+msgstr "data urodzenia"
+
+#: club/models.py:349
+msgid "street"
+msgstr "ulica"
+
+#: club/models.py:350
+msgid "building"
+msgstr "numer domu"
+
+#: club/models.py:351
+msgid "flat"
+msgstr "numer mieszkania"
+
+#: club/models.py:352
+msgid "town"
+msgstr "miasto"
+
+#: club/models.py:353
+msgid "postal code"
+msgstr "kod"
+
+#: club/models.py:354
+msgid "phone"
+msgstr "numer telefonu"
+
+#: club/models.py:355
+msgid "e-mail"
+msgstr "e-mail"
+
+#: club/models.py:356
+msgid "IBAN"
+msgstr "numer rachunku"
+
+#: club/models.py:357
+msgid "payment identifier"
+msgstr "identyfikator płatności"
+
+#: club/models.py:358
+msgid "agree newsletter"
+msgstr "zgoda na newsletter"
+
+#: club/models.py:359
+msgid "date"
+msgstr "data"
+
+#: club/models.py:363
+msgid "direct debit"
+msgstr "polecenie zapłaty"
+
+#: club/models.py:364
+msgid "direct debits"
+msgstr "polecenia zapłaty"
+
 #: club/payu/models.py:17 club/payu/models.py:29
 msgid "POS id"
 msgstr ""
index eaf7afd..36979b9 100644 (file)
@@ -31,7 +31,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -68,133 +68,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -316,11 +320,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -337,7 +341,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -393,7 +397,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
index cc5c646..37d635f 100644 (file)
@@ -32,7 +32,7 @@ msgstr ""
 msgid "Club"
 msgstr ""
 
-#: club/forms.py:26
+#: club/forms.py:32
 #, python-format
 msgid "Minimal amount is %(amount)d PLN."
 msgstr ""
@@ -69,133 +69,137 @@ msgstr ""
 msgid "clubs"
 msgstr ""
 
-#: club/models.py:47
+#: club/models.py:48
 msgid "key"
 msgstr ""
 
-#: club/models.py:48
+#: club/models.py:49
 msgid "email"
 msgstr ""
 
-#: club/models.py:49 club/models.py:155
+#: club/models.py:50 club/models.py:143
 msgid "membership"
 msgstr ""
 
-#: club/models.py:50
-msgid "payed at"
-msgstr ""
-
 #: club/models.py:51
-msgid "expires_at"
-msgstr ""
-
-#: club/models.py:71
 msgid "amount"
 msgstr ""
 
-#: club/models.py:72 club/templates/club/payment_form.html:21
+#: club/models.py:52 club/templates/club/payment_form.html:21
 msgid "monthly"
 msgstr ""
 
-#: club/models.py:73
+#: club/models.py:53
 msgid "yearly"
 msgstr ""
 
-#: club/models.py:75
+#: club/models.py:55
+msgid "source"
+msgstr ""
+
+#: club/models.py:57
 msgid "cancelled"
 msgstr ""
 
-#: club/models.py:76
+#: club/models.py:58
+msgid "payed at"
+msgstr ""
+
+#: club/models.py:59
 msgid "started at"
 msgstr ""
 
-#: club/models.py:79
+#: club/models.py:60
+msgid "expires_at"
+msgstr ""
+
+#: club/models.py:64
 msgid "schedule"
 msgstr ""
 
-#: club/models.py:80
+#: club/models.py:65
 msgid "schedules"
 msgstr ""
 
-#: club/models.py:147
+#: club/models.py:135
 msgid "user"
 msgstr ""
 
-#: club/models.py:148
+#: club/models.py:136
 msgid "created at"
 msgstr ""
 
-#: club/models.py:149 club/models.py:210
+#: club/models.py:137 club/models.py:198
 msgid "name"
 msgstr ""
 
-#: club/models.py:150
+#: club/models.py:138
 msgid "manual"
 msgstr ""
 
-#: club/models.py:151
+#: club/models.py:139
 msgid "notes"
 msgstr ""
 
-#: club/models.py:152
+#: club/models.py:140
 msgid "updated at"
 msgstr ""
 
-#: club/models.py:156
+#: club/models.py:144
 msgid "memberships"
 msgstr ""
 
-#: club/models.py:193
+#: club/models.py:181
 msgid "days before"
 msgstr ""
 
-#: club/models.py:194
+#: club/models.py:182
 msgid "subject"
 msgstr ""
 
-#: club/models.py:195 club/payu/models.py:140
+#: club/models.py:183 club/payu/models.py:140
 msgid "body"
 msgstr ""
 
-#: club/models.py:198
+#: club/models.py:186
 msgid "reminder email"
 msgstr ""
 
-#: club/models.py:199
+#: club/models.py:187
 msgid "reminder emails"
 msgstr ""
 
-#: club/models.py:204
+#: club/models.py:192
 #, python-format
 msgid "a day before expiration"
 msgid_plural "%d days before expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:206
+#: club/models.py:194
 #, python-format
 msgid "a day after expiration"
 msgid_plural "%d days after expiration"
 msgstr[0] ""
 msgstr[1] ""
 
-#: club/models.py:211
+#: club/models.py:199
 msgid "photo"
 msgstr ""
 
-#: club/models.py:212
+#: club/models.py:200
 msgid "text"
 msgstr ""
 
-#: club/models.py:215
+#: club/models.py:203
 msgid "ambassador"
 msgstr ""
 
-#: club/models.py:216
+#: club/models.py:204
 msgid "ambassadors"
 msgstr ""
 
-#: club/models.py:247 club/templates/club/index.html:7
+#: club/models.py:235 club/templates/club/index.html:7
 #: club/templates/club/index.html:13 club/templates/club/thanks.html:6
 #: club/templates/payu/rec_payment.html:5
 msgid "Towarzystwo Przyjaciół Wolnych Lektur"
@@ -317,11 +321,11 @@ msgstr ""
 msgid "See your past support."
 msgstr ""
 
-#: club/templates/club/membership_form.html:40
+#: club/templates/club/membership_form.html:41
 msgid "Help us get 100 new Friends by the end of the school semester."
 msgstr ""
 
-#: club/templates/club/membership_form.html:41
+#: club/templates/club/membership_form.html:42
 #, python-format
 msgid ""
 "\n"
@@ -338,7 +342,7 @@ msgstr[1] ""
 msgstr[2] ""
 msgstr[3] ""
 
-#: club/templates/club/membership_form.html:46
+#: club/templates/club/membership_form.html:47
 #, python-format
 msgid ""
 "\n"
@@ -394,7 +398,7 @@ msgid ""
 "\"https://nowoczesnapolska.org.pl/prywatnosc/\">privacy policy</a>."
 msgstr ""
 
-#: club/templates/club/payment_form.html:64
+#: club/templates/club/payment_form.html:65
 msgid "Donate"
 msgstr ""
 
diff --git a/src/club/migrations/0028_directdebit.py b/src/club/migrations/0028_directdebit.py
new file mode 100644 (file)
index 0000000..fce345d
--- /dev/null
@@ -0,0 +1,39 @@
+# Generated by Django 2.2.19 on 2021-06-15 13:27
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('club', '0027_auto_20210609_1158'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='DirectDebit',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('first_name', models.CharField(blank=True, max_length=255, verbose_name='first name')),
+                ('last_name', models.CharField(blank=True, max_length=255, verbose_name='last name')),
+                ('sex', models.CharField(blank=True, choices=[('M', 'M'), ('F', 'F')], max_length=1, verbose_name='sex')),
+                ('date_of_birth', models.DateField(blank=True, null=True, verbose_name='date of birth')),
+                ('street', models.CharField(blank=True, max_length=255, verbose_name='street')),
+                ('building', models.CharField(blank=True, max_length=255, verbose_name='building')),
+                ('flat', models.CharField(blank=True, max_length=255, verbose_name='flat')),
+                ('town', models.CharField(blank=True, max_length=255, verbose_name='town')),
+                ('postal_code', models.CharField(blank=True, max_length=255, verbose_name='postal code')),
+                ('phone', models.CharField(blank=True, max_length=255, verbose_name='phone')),
+                ('email', models.CharField(blank=True, max_length=255, verbose_name='e-mail')),
+                ('iban', models.CharField(blank=True, max_length=255, verbose_name='IBAN')),
+                ('payment_id', models.CharField(blank=True, max_length=255, verbose_name='payment identifier')),
+                ('agree_newsletter', models.BooleanField(verbose_name='agree newsletter')),
+                ('date', models.DateField(verbose_name='date')),
+                ('amount', models.IntegerField(verbose_name='amount')),
+            ],
+            options={
+                'verbose_name': 'direct debit',
+                'verbose_name_plural': 'direct debits',
+            },
+        ),
+    ]
index a8b07ab..9a74e27 100644 (file)
@@ -338,3 +338,28 @@ class PayUNotification(payu_models.Notification):
     order = models.ForeignKey(PayUOrder, models.CASCADE, related_name='notification_set')
 
 
+class DirectDebit(models.Model):
+    first_name = models.CharField(_('first name'), max_length=255, blank=True)
+    last_name = models.CharField(_('last name'), max_length=255, blank=True)
+    sex = models.CharField(_('sex'), max_length=1, blank=True, choices=[
+        ('M', 'M'),
+        ('F', 'F'),
+    ])
+    date_of_birth = models.DateField(_('date of birth'), null=True, blank=True)
+    street = models.CharField(_('street'), max_length=255, blank=True)
+    building = models.CharField(_('building'), max_length=255, blank=True)
+    flat = models.CharField(_('flat'), max_length=255, blank=True)
+    town = models.CharField(_('town'), max_length=255, blank=True)
+    postal_code = models.CharField(_('postal code'),  max_length=255, blank=True)
+    phone = models.CharField(_('phone'), max_length=255, blank=True)
+    email = models.CharField(_('e-mail'), max_length=255, blank=True)
+    iban = models.CharField(_('IBAN'), max_length=255, blank=True)
+    payment_id = models.CharField(_('payment identifier'), max_length=255, blank=True)
+    agree_newsletter = models.BooleanField(_('agree newsletter'))
+    date = models.DateField(_('date'))
+    amount = models.IntegerField(_('amount'))
+
+    class Meta:
+        verbose_name = _('direct debit')
+        verbose_name_plural = _('direct debits')
+