Merge branch 'update-customuser-to-store-stripe-import-remarks' into 'master'

Update customuser to store stripe import remarks

See merge request ungleich-public/dynamicweb!720
This commit is contained in:
pcoder116 2019-11-28 09:14:04 +01:00
commit bed57786d7
3 changed files with 40 additions and 5 deletions

View file

@ -1,3 +1,4 @@
import datetime
import logging import logging
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
@ -19,6 +20,10 @@ class Command(BaseCommand):
def handle(self, *args, **options): def handle(self, *args, **options):
try: try:
for email in options['customer_email']: for email in options['customer_email']:
self.stdout.write(
self.style.SUCCESS(
"---------------------------------------------")
)
stripe_utils = StripeUtils() stripe_utils = StripeUtils()
user = CustomUser.objects.get(email=email) user = CustomUser.objects.get(email=email)
if hasattr(user, 'stripecustomer'): if hasattr(user, 'stripecustomer'):
@ -39,7 +44,9 @@ class Command(BaseCommand):
) )
if all_invoices_response['error'] is not None: if all_invoices_response['error'] is not None:
self.stdout.write(self.style.ERROR(all_invoices_response['error'])) self.stdout.write(self.style.ERROR(all_invoices_response['error']))
exit(1) user.import_stripe_bill_remark += "{}: {},".format(datetime.datetime.now(), all_invoices_response['error'])
user.save()
continue
all_invoices = all_invoices_response['response_object'] all_invoices = all_invoices_response['response_object']
self.stdout.write(self.style.SUCCESS("Obtained {} invoices".format(len(all_invoices) if all_invoices is not None else 0))) self.stdout.write(self.style.SUCCESS("Obtained {} invoices".format(len(all_invoices) if all_invoices is not None else 0)))
num_invoice_created = 0 num_invoice_created = 0
@ -54,6 +61,10 @@ class Command(BaseCommand):
if MonthlyHostingBill.create(invoice) is not None: if MonthlyHostingBill.create(invoice) is not None:
num_invoice_created += 1 num_invoice_created += 1
else: else:
user.import_stripe_bill_remark += "{}: Import failed - {},".format(
datetime.datetime.now(),
invoice['invoice_id'])
user.save()
logger.error("Did not import invoice for %s" logger.error("Did not import invoice for %s"
"" % str(invoice)) "" % str(invoice))
self.stdout.write( self.stdout.write(
@ -62,9 +73,9 @@ class Command(BaseCommand):
else: else:
self.stdout.write(self.style.SUCCESS( self.stdout.write(self.style.SUCCESS(
'Customer email %s does not have a stripe customer.' % email)) 'Customer email %s does not have a stripe customer.' % email))
self.stdout.write( user.import_stripe_bill_remark += "{}: No stripecustomer,".format(
self.style.SUCCESS( datetime.datetime.now()
"---------------------------------------------")
) )
user.save()
except Exception as e: except Exception as e:
print(" *** Error occurred. Details {}".format(str(e))) print(" *** Error occurred. Details {}".format(str(e)))

View file

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2019-11-28 07:19
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('membership', '0009_deleteduser'),
]
operations = [
migrations.AddField(
model_name='customuser',
name='import_stripe_bill_remark',
field=models.TextField(default='', help_text='Indicates any issues while importing stripe bills'),
),
]

View file

@ -82,6 +82,10 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
help_text=_( help_text=_(
'Designates whether the user can log into this admin site.'), 'Designates whether the user can log into this admin site.'),
) )
import_stripe_bill_remark = models.TextField(
default="",
help_text="Indicates any issues while importing stripe bills"
)
objects = MyUserManager() objects = MyUserManager()