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
|
||||
cards_list = UserCardDetail.get_all_cards_list(
|
||||
if hasattr(user, 'stripecustomer'):
|
||||
stripe_customer = user.stripecustomer
|
||||
else:
|
||||
stripe_customer = None
|
||||
cards_list = UserCardDetail.get_all_cards_list(
|
||||
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…
Reference in a new issue