Add management command import_usercarddetails
This commit is contained in:
		
					parent
					
						
							
								8d42ca3200
							
						
					
				
			
			
				commit
				
					
						e60b93d126
					
				
			
		
					 1 changed files with 39 additions and 0 deletions
				
			
		
							
								
								
									
										39
									
								
								hosting/management/commands/import_usercarddetails.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								hosting/management/commands/import_usercarddetails.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | ||||||
|  | from django.core.management.base import BaseCommand | ||||||
|  | 
 | ||||||
|  | from hosting.models import UserCardDetail | ||||||
|  | from membership.models import CustomUser | ||||||
|  | from utils.stripe_utils import StripeUtils | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Command(BaseCommand): | ||||||
|  |     help = '''Imports the usercard details of all customers. Created just for | ||||||
|  |               multiple card support.''' | ||||||
|  | 
 | ||||||
|  |     def handle(self, *args, **options): | ||||||
|  |         try: | ||||||
|  |             stripe_utils = StripeUtils() | ||||||
|  |             for user in CustomUser.objects.filter(id__gte=114): | ||||||
|  |                 if user.stripecustomer: | ||||||
|  |                     card_details_resp = stripe_utils.get_card_details( | ||||||
|  |                         user.stripecustomer.stripe_id | ||||||
|  |                     ) | ||||||
|  |                     card_details = card_details_resp['response_object'] | ||||||
|  |                     if card_details: | ||||||
|  |                         ucd = UserCardDetail.get_or_create_user_card_detail( | ||||||
|  |                             stripe_customer=user.stripecustomer, | ||||||
|  |                             card_details=card_details | ||||||
|  |                         ) | ||||||
|  |                         UserCardDetail.save_default_card_local( | ||||||
|  |                             user.stripecustomer.stripe_id, | ||||||
|  |                             ucd.card_id | ||||||
|  |                         ) | ||||||
|  |                         print("Saved user card details for {}".format( | ||||||
|  |                             user.email | ||||||
|  |                         )) | ||||||
|  |                     else: | ||||||
|  |                         print(" --- Could not get card details for {}".format( | ||||||
|  |                             user.email | ||||||
|  |                         )) | ||||||
|  |                         print("Error: {}".format(card_details_resp['error'])) | ||||||
|  |         except Exception as e: | ||||||
|  |             print("Error occurred. Details {}".format(str(e))) | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue