diff --git a/hosting/management/commands/import_usercarddetails.py b/hosting/management/commands/import_usercarddetails.py index fa5b975e..de5a91f9 100644 --- a/hosting/management/commands/import_usercarddetails.py +++ b/hosting/management/commands/import_usercarddetails.py @@ -12,28 +12,34 @@ class Command(BaseCommand): 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 + for user in CustomUser.objects.all(): + if hasattr(user, 'stripecustomer'): + if user.stripecustomer: + card_details_resp = stripe_utils.get_card_details( + user.stripecustomer.stripe_id ) - 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'])) + 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'] + )) + else: + print(" === {} does not have a StripeCustomer object".format( + user.email + )) except Exception as e: - print("Error occurred. Details {}".format(str(e))) + print(" *** Error occurred. Details {}".format(str(e)))