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:
		
				commit
				
					
						bed57786d7
					
				
			
		
					 3 changed files with 40 additions and 5 deletions
				
			
		| 
						 | 
					@ -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)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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'),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
| 
						 | 
					@ -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()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue