Set preferred = False for cards that are not preferred

This commit is contained in:
PCoder 2017-10-28 16:47:10 +02:00
parent b6d1e8df6b
commit a17a5f66bc

View file

@ -282,7 +282,7 @@ class UserCardDetail(AssignPermissionsMixin, models.Model):
cu = cus_response['response_object'] cu = cus_response['response_object']
cu.default_source = stripe_source_id cu.default_source = stripe_source_id
cu.save() cu.save()
self._save_default_card(stripe_api_cus_id, stripe_source_id) self.save_default_card(stripe_api_cus_id, stripe_source_id)
def set_default_card_from_stripe(self, stripe_api_cus_id): def set_default_card_from_stripe(self, stripe_api_cus_id):
stripe_utils = StripeUtils() stripe_utils = StripeUtils()
@ -290,12 +290,15 @@ class UserCardDetail(AssignPermissionsMixin, models.Model):
cu = cus_response['response_object'] cu = cus_response['response_object']
default_source = cu.default_source default_source = cu.default_source
if default_source is not None: if default_source is not None:
self._save_default_card(stripe_api_cus_id, default_source) self.save_default_card(stripe_api_cus_id, default_source)
def _save_default_card(self, stripe_api_cus_id, card_id): def save_default_card(self, stripe_api_cus_id, card_id):
stripe_cust = StripeCustomer.objects.get(stripe_id=stripe_api_cus_id) stripe_cust = StripeCustomer.objects.get(stripe_id=stripe_api_cus_id)
user_card_detail = UserCardDetail.objects.get( user_card_detail = UserCardDetail.objects.get(
stripe_customer=stripe_cust, card_id=card_id stripe_customer=stripe_cust, card_id=card_id
) )
for card in stripe_cust.usercarddetail_set.all():
card.preferred = False
card.save()
user_card_detail.preferred = True user_card_detail.preferred = True
user_card_detail.save() user_card_detail.save()