fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
PZ: prevent generationg orders for cancelled debits.
[wolnelektury.git]
/
src
/
pz
/
bank.py
diff --git
a/src/pz/bank.py
b/src/pz/bank.py
index
e7788cd
..
40b985a
100644
(file)
--- a/
src/pz/bank.py
+++ b/
src/pz/bank.py
@@
-13,6
+13,7
@@
def bank_export(modeladmin, request, queryset):
writer.writerow([
'Identyfikator płatności (IDP)',
'Nazwa Płatnika',
writer.writerow([
'Identyfikator płatności (IDP)',
'Nazwa Płatnika',
+ '',
'Adres Płatnika Ulica + numer domu',
'Adres Płatnika kod+miejscowość',
'Numer kierunkowy banku Płatnika',
'Adres Płatnika Ulica + numer domu',
'Adres Płatnika kod+miejscowość',
'Numer kierunkowy banku Płatnika',
@@
-27,6
+28,7
@@
def bank_export(modeladmin, request, queryset):
writer.writerow([
obj.payment_id,
obj.full_name,
writer.writerow([
obj.payment_id,
obj.full_name,
+ '',
obj.street_address,
' '.join([obj.postal_code, obj.town]).strip(),
obj.iban[2:10],
obj.street_address,
' '.join([obj.postal_code, obj.town]).strip(),
obj.iban[2:10],
@@
-46,13
+48,14
@@
def parse_export_feedback(f):
yield payment_id, status, comment
yield payment_id, status, comment
-def bank_order(date, queryset):
+def bank_order(date,
sent_at,
queryset):
response = HttpResponse(content_type='application/octet-stream')
response['Content-Disposition'] = 'attachment; filename=order.PLD'
rows = []
no_dates = []
no_amounts = []
response = HttpResponse(content_type='application/octet-stream')
response['Content-Disposition'] = 'attachment; filename=order.PLD'
rows = []
no_dates = []
no_amounts = []
+ cancelled = []
if date is None:
raise ValueError('Payment date not set yet.')
if date is None:
raise ValueError('Payment date not set yet.')
@@
-62,8
+65,10
@@
def bank_order(date, queryset):
no_dates.append(debit)
if debit.amount is None:
no_amounts.append(debit)
no_dates.append(debit)
if debit.amount is None:
no_amounts.append(debit)
+ if debit.cancelled_at and debit.cancelled_at.date() <= date and (sent_at is None or debit.cancelled_at < sent_at):
+ cancelled.append(debit)
- if no_dates or no_amounts:
+ if no_dates or no_amounts
or cancelled
:
t = ''
if no_dates:
t += 'Bank acceptance not received for: '
t = ''
if no_dates:
t += 'Bank acceptance not received for: '
@@
-83,6
+88,15
@@
def bank_order(date, queryset):
for debit in no_amounts
)
t += '. '
for debit in no_amounts
)
t += '. '
+ if cancelled:
+ t += 'Debits have been cancelled: '
+ t += ', '.join(
+ '<a href="/admin/pz/directdebit/{}/change">{}</a>'.format(
+ debit.pk, debit
+ )
+ for debit in cancelled
+ )
+ t += '. '
raise ValueError(mark_safe(t))
for debit in queryset:
raise ValueError(mark_safe(t))
for debit in queryset: