fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add basic login.
[wolnelektury.git]
/
src
/
club
/
management
/
commands
/
send_receipts.py
diff --git
a/src/club/management/commands/send_receipts.py
b/src/club/management/commands/send_receipts.py
index
bbe1209
..
402cd08
100644
(file)
--- a/
src/club/management/commands/send_receipts.py
+++ b/
src/club/management/commands/send_receipts.py
@@
-1,5
+1,5
@@
-# This file is part of Wolne
l
ektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja
Nowoczesna Polska
. See NOTICE for more information.
+# This file is part of Wolne
L
ektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja
Wolne Lektury
. See NOTICE for more information.
#
from datetime import timedelta
import traceback
#
from datetime import timedelta
import traceback
@@
-7,6
+7,8
@@
from django.core.management.base import BaseCommand, CommandError
from django.utils.timezone import now
from club.models import PayUOrder
from funding.models import Funding
from django.utils.timezone import now
from club.models import PayUOrder
from funding.models import Funding
+from paypal.models import BillingAgreement
+from pz.models import Payment
class Command(BaseCommand):
class Command(BaseCommand):
@@
-17,6
+19,9
@@
class Command(BaseCommand):
parser.add_argument(
'--emails',
help='Send only to these emails.')
parser.add_argument(
'--emails',
help='Send only to these emails.')
+ parser.add_argument(
+ '--resend', action='store_true',
+ help='This is a re-send.')
def handle(self, *args, **options):
year = options['year']
def handle(self, *args, **options):
year = options['year']
@@
-27,17
+32,36
@@
class Command(BaseCommand):
'schedule__email', flat=True
).distinct()
)
'schedule__email', flat=True
).distinct()
)
+ emails.update(
+ BillingAgreement.objects.all().order_by(
+ 'schedule__email').values_list(
+ 'schedule__email', flat=True
+ ).distinct()
+ )
emails.update(
Funding.objects.exclude(email='').filter(
emails.update(
Funding.objects.exclude(email='').filter(
-
pay
ed_at__year=year
+
complet
ed_at__year=year
).order_by('email').values_list(
'email', flat=True
).distinct()
)
).order_by('email').values_list(
'email', flat=True
).distinct()
)
+ emails.update(
+ Payment.objects.exclude(debit__email='').filter(
+ realised=True,
+ is_dd=True,
+ booking_date__year=year,
+ ).order_by('debit__email').values_list(
+ 'debit__email', flat=True
+ ).distinct()
+ )
if options['emails']:
emails = options['emails'].split(',')
for email in emails:
print(email)
if options['emails']:
emails = options['emails'].split(',')
for email in emails:
print(email)
- PayUOrder.send_receipt(email, year)
+ try:
+ PayUOrder.send_receipt(email, year, resend=options['resend'])
+ except:
+ print('ERROR')
+ raise