+ def send_receipt(cls, email, year, resend=False):
+ Contact = apps.get_model('messaging', 'Contact')
+ Funding = apps.get_model('funding', 'Funding')
+ BillingAgreement = apps.get_model('paypal', 'BillingAgreement')
+ DirectDebit = apps.get_model('pz', 'DirectDebit')
+ Payment = apps.get_model('pz', 'Payment')
+
+ payments = []
+
+ optout = None
+ try:
+ contact = Contact.objects.get(email=email)
+ except Contact.DoesNotExist:
+ funding = Funding.objects.filter(
+ email=email,
+ completed_at__year=year,
+ notifications=True).order_by('completed_at').first()
+ if funding is None:
+ print('no notifications')
+ if not DirectDebit.objects.filter(email=email, optout=False).exists():
+ return
+ else:
+ optout = funding.wl_optout_url()
+ else:
+ if contact.level == Level.OPT_OUT:
+ print('opt-out')
+ return
+ optout = contact.wl_optout_url()
+