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…
	
	Add table
		Add a link
		
	
		Reference in a new issue