Modify PaymentOrderView to accomodate the new generic payment case (WIP)
This commit is contained in:
parent
429dd10b75
commit
730492089b
1 changed files with 20 additions and 8 deletions
|
@ -12,7 +12,7 @@ from django.utils.translation import get_language, ugettext_lazy as _
|
||||||
from django.views.decorators.cache import cache_control
|
from django.views.decorators.cache import cache_control
|
||||||
from django.views.generic import FormView, CreateView, DetailView
|
from django.views.generic import FormView, CreateView, DetailView
|
||||||
|
|
||||||
from hosting.forms import HostingUserLoginForm
|
from hosting.forms import HostingUserLoginForm, GenericPaymentForm
|
||||||
from hosting.models import HostingOrder, UserCardDetail
|
from hosting.models import HostingOrder, UserCardDetail
|
||||||
from membership.models import CustomUser, StripeCustomer
|
from membership.models import CustomUser, StripeCustomer
|
||||||
from opennebula_api.serializers import VMTemplateSerializer
|
from opennebula_api.serializers import VMTemplateSerializer
|
||||||
|
@ -242,15 +242,26 @@ class PaymentOrderView(FormView):
|
||||||
'login_form': HostingUserLoginForm(prefix='login_form'),
|
'login_form': HostingUserLoginForm(prefix='login_form'),
|
||||||
'billing_address_form': billing_address_form,
|
'billing_address_form': billing_address_form,
|
||||||
'cms_integration': get_cms_integration('default'),
|
'cms_integration': get_cms_integration('default'),
|
||||||
'vm_pricing': VMPricing.get_vm_pricing_by_name(
|
|
||||||
self.request.session['specs']['pricing_name']
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if self.request.session['generic_payment_type'] == 'generic':
|
||||||
|
context.update({'generic_payment_form': GenericPaymentForm(
|
||||||
|
prefix='generic_payment_form'
|
||||||
|
), })
|
||||||
|
else:
|
||||||
|
context.update({
|
||||||
|
'vm_pricing': VMPricing.get_vm_pricing_by_name(
|
||||||
|
self.request.session['specs']['pricing_name']
|
||||||
|
)
|
||||||
|
})
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@cache_control(no_cache=True, must_revalidate=True, no_store=True)
|
@cache_control(no_cache=True, must_revalidate=True, no_store=True)
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
if 'specs' not in request.session:
|
if 'type' in request.GET and request.GET['type'] == 'generic':
|
||||||
|
request.session['generic_payment_type'] = request.GET['type']
|
||||||
|
elif 'specs' not in request.session:
|
||||||
return HttpResponseRedirect(reverse('datacenterlight:index'))
|
return HttpResponseRedirect(reverse('datacenterlight:index'))
|
||||||
return self.render_to_response(self.get_context_data())
|
return self.render_to_response(self.get_context_data())
|
||||||
|
|
||||||
|
@ -296,8 +307,8 @@ class PaymentOrderView(FormView):
|
||||||
except UserCardDetail.DoesNotExist as e:
|
except UserCardDetail.DoesNotExist as e:
|
||||||
ex = str(e)
|
ex = str(e)
|
||||||
logger.error("Card Id: {card_id}, Exception: {ex}".format(
|
logger.error("Card Id: {card_id}, Exception: {ex}".format(
|
||||||
card_id=card_id, ex=ex
|
card_id=card_id, ex=ex
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
msg = _("An error occurred. Details: {}".format(ex))
|
msg = _("An error occurred. Details: {}".format(ex))
|
||||||
messages.add_message(
|
messages.add_message(
|
||||||
|
@ -450,7 +461,8 @@ class OrderConfirmationView(DetailView):
|
||||||
'brand': card_details_response['brand'],
|
'brand': card_details_response['brand'],
|
||||||
'card_id': card_details_response['card_id']
|
'card_id': card_details_response['card_id']
|
||||||
}
|
}
|
||||||
stripe_customer_obj = StripeCustomer.objects.filter(stripe_id=stripe_api_cus_id).first()
|
stripe_customer_obj = StripeCustomer.objects.filter(
|
||||||
|
stripe_id=stripe_api_cus_id).first()
|
||||||
if stripe_customer_obj:
|
if stripe_customer_obj:
|
||||||
ucd = UserCardDetail.get_user_card_details(
|
ucd = UserCardDetail.get_user_card_details(
|
||||||
stripe_customer_obj, card_details_response
|
stripe_customer_obj, card_details_response
|
||||||
|
|
Loading…
Reference in a new issue