Add UserCardDetail in the landing non-logged in flow
This commit is contained in:
parent
9904a71d38
commit
1c5ff1f9dd
1 changed files with 15 additions and 4 deletions
|
@ -13,7 +13,7 @@ from django.views.decorators.cache import cache_control
|
|||
from django.views.generic import FormView, CreateView, DetailView
|
||||
|
||||
from hosting.forms import HostingUserLoginForm
|
||||
from hosting.models import HostingOrder
|
||||
from hosting.models import HostingOrder, UserCardDetail
|
||||
from membership.models import CustomUser, StripeCustomer
|
||||
from opennebula_api.serializers import VMTemplateSerializer
|
||||
from utils.forms import BillingAddressForm, BillingAddressFormSignup
|
||||
|
@ -397,9 +397,9 @@ class OrderConfirmationView(DetailView):
|
|||
stripe_api_cus_id = request.session.get('customer')
|
||||
vm_template_id = template.get('id', 1)
|
||||
stripe_utils = StripeUtils()
|
||||
card_details = stripe_utils.get_card_details(stripe_api_cus_id,
|
||||
request.session.get(
|
||||
'token'))
|
||||
card_details = stripe_utils.get_cards_details_from_token(
|
||||
request.session.get('token')
|
||||
)
|
||||
if not card_details.get('response_object'):
|
||||
msg = card_details.get('error')
|
||||
messages.add_message(self.request, messages.ERROR, msg,
|
||||
|
@ -493,6 +493,7 @@ class OrderConfirmationView(DetailView):
|
|||
else:
|
||||
# We assume that if the user is here, his/her StripeCustomer
|
||||
# object already exists
|
||||
stripe_customer = request.user.stripecustomer
|
||||
stripe_customer_id = request.user.stripecustomer.id
|
||||
custom_user = request.user
|
||||
|
||||
|
@ -502,6 +503,16 @@ class OrderConfirmationView(DetailView):
|
|||
billing_address_data.update({
|
||||
'user': custom_user.id
|
||||
})
|
||||
|
||||
if 'token' in request.session:
|
||||
ucd = UserCardDetail.get_or_create_user_card_detail(
|
||||
stripe_customer=stripe_customer,
|
||||
card_details=card_details_dict
|
||||
)
|
||||
UserCardDetail.save_default_card_local(
|
||||
stripe_customer.stripe_id,
|
||||
ucd.card_id
|
||||
)
|
||||
user = {
|
||||
'name': custom_user.name,
|
||||
'email': custom_user.email,
|
||||
|
|
Loading…
Reference in a new issue