X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/5fb53c16b8de6efee032dea734dd9047f33d3d54..d25e1c6ed14aa17a3fb5e8147355ee63ed5c5c3d:/src/pz/bank.py?ds=sidebyside diff --git a/src/pz/bank.py b/src/pz/bank.py index e7788cdbd..40b985a13 100644 --- 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', + '', '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, + '', 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 -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 = [] + cancelled = [] 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) + 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: ' @@ -83,6 +88,15 @@ def bank_order(date, queryset): for debit in no_amounts ) t += '. ' + if cancelled: + t += 'Debits have been cancelled: ' + t += ', '.join( + '{}'.format( + debit.pk, debit + ) + for debit in cancelled + ) + t += '. ' raise ValueError(mark_safe(t)) for debit in queryset: