Use hasattr to check if a user already has a stripecustomer object
This commit is contained in:
		
					parent
					
						
							
								8d2c120b43
							
						
					
				
			
			
				commit
				
					
						ef9dc446db
					
				
			
		
					 2 changed files with 12 additions and 8 deletions
				
			
		|  | @ -664,8 +664,12 @@ class PaymentVMView(LoginRequiredMixin, FormView): | |||
|     def get_context_data(self, **kwargs): | ||||
|         context = super(PaymentVMView, self).get_context_data(**kwargs) | ||||
|         user = self.request.user | ||||
|         if hasattr(user, 'stripecustomer'): | ||||
|             stripe_customer = user.stripecustomer | ||||
|         else: | ||||
|             stripe_customer = None | ||||
|         cards_list = UserCardDetail.get_all_cards_list( | ||||
|             stripe_customer= user.stripecustomer | ||||
|             stripe_customer=stripe_customer | ||||
|         ) | ||||
|         context.update({ | ||||
|             'cards_list': cards_list, | ||||
|  |  | |||
|  | @ -221,19 +221,19 @@ class StripeCustomer(models.Model): | |||
|             stripe_data = stripe_utils.create_customer(token, email, user.name) | ||||
|             if stripe_data.get('response_object'): | ||||
|                 stripe_cus_id = stripe_data.get('response_object').get('id') | ||||
|                 if user.stripecustomer is None: | ||||
|                     # The user never had an associated Stripe account | ||||
|                     # So, create one | ||||
|                     stripe_customer = StripeCustomer.objects.create( | ||||
|                         user=user, stripe_id=stripe_cus_id | ||||
|                     ) | ||||
|                 else: | ||||
|                 if hasattr(user, 'stripecustomer'): | ||||
|                     # User already had a Stripe account and we are here | ||||
|                     # because the account was deleted in dashboard | ||||
|                     # So, we simply update the stripe_id | ||||
|                     user.stripecustomer.stripe_id = stripe_cus_id | ||||
|                     user.stripecustomer.save() | ||||
|                     stripe_customer = user.stripecustomer | ||||
|                 else: | ||||
|                     # The user never had an associated Stripe account | ||||
|                     # So, create one | ||||
|                     stripe_customer = StripeCustomer.objects.create( | ||||
|                         user=user, stripe_id=stripe_cus_id | ||||
|                     ) | ||||
|                 return stripe_customer | ||||
|             else: | ||||
|                 return None | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue