Refactor validation code + Add product_id to context
This commit is contained in:
parent
508360472a
commit
4575ff60ec
1 changed files with 9 additions and 39 deletions
|
@ -279,8 +279,7 @@ class PaymentOrderView(FormView):
|
||||||
product = None
|
product = None
|
||||||
try:
|
try:
|
||||||
product = GenericProduct.objects.get(
|
product = GenericProduct.objects.get(
|
||||||
product_name=
|
id=request.POST['generic_payment_form-product_name']
|
||||||
request.POST['generic_payment_form-product_name']
|
|
||||||
)
|
)
|
||||||
except GenericProduct.DoesNotExist as dne:
|
except GenericProduct.DoesNotExist as dne:
|
||||||
logger.error(
|
logger.error(
|
||||||
|
@ -341,37 +340,11 @@ class PaymentOrderView(FormView):
|
||||||
)
|
)
|
||||||
if generic_payment_form.is_valid():
|
if generic_payment_form.is_valid():
|
||||||
logger.debug("Generic payment form is valid.")
|
logger.debug("Generic payment form is valid.")
|
||||||
product = None
|
product = generic_payment_form.cleaned_data.get(
|
||||||
try:
|
'product_name'
|
||||||
product = GenericProduct.objects.get(
|
)
|
||||||
product_name=
|
|
||||||
request.POST['generic_payment_form-product_name']
|
|
||||||
)
|
|
||||||
except GenericProduct.DoesNotExist as dne:
|
|
||||||
err_msg = _(
|
|
||||||
"The requested product '{}' does not exist".format(
|
|
||||||
request.POST[
|
|
||||||
'generic_payment_form-product_name']
|
|
||||||
)
|
|
||||||
)
|
|
||||||
logger.error(err_msg)
|
|
||||||
raise ValidationError(err_msg)
|
|
||||||
except GenericProduct.MultipleObjectsReturned as mpe:
|
|
||||||
logger.error(
|
|
||||||
"There seem to be more than one product with "
|
|
||||||
"the name {}".format(
|
|
||||||
request.POST[
|
|
||||||
'generic_payment_form-product_name']
|
|
||||||
)
|
|
||||||
)
|
|
||||||
product = GenericProduct.objects.all(
|
|
||||||
product_name=
|
|
||||||
request.POST['generic_payment_form-product_name']
|
|
||||||
).first()
|
|
||||||
gp_details = {
|
gp_details = {
|
||||||
"product_name": generic_payment_form.cleaned_data.get(
|
"product_name": product.product_name,
|
||||||
'product_name'
|
|
||||||
),
|
|
||||||
"amount": generic_payment_form.cleaned_data.get(
|
"amount": generic_payment_form.cleaned_data.get(
|
||||||
'amount'
|
'amount'
|
||||||
),
|
),
|
||||||
|
@ -381,14 +354,10 @@ class PaymentOrderView(FormView):
|
||||||
"description": generic_payment_form.cleaned_data.get(
|
"description": generic_payment_form.cleaned_data.get(
|
||||||
'description'
|
'description'
|
||||||
),
|
),
|
||||||
|
"product_id": product.id
|
||||||
}
|
}
|
||||||
if (product.get_actual_price() != gp_details['amount'] or
|
|
||||||
product.isSubscription !=
|
# gp_details['product_id'] = product.id
|
||||||
(True if gp_details["recurring"] else False)):
|
|
||||||
raise ValidationError(
|
|
||||||
_("Product parameters do not match")
|
|
||||||
)
|
|
||||||
gp_details['product_id'] = product.id
|
|
||||||
request.session["generic_payment_details"] = (
|
request.session["generic_payment_details"] = (
|
||||||
gp_details
|
gp_details
|
||||||
)
|
)
|
||||||
|
@ -858,6 +827,7 @@ class OrderConfirmationView(DetailView):
|
||||||
'description': gp_details['description'],
|
'description': gp_details['description'],
|
||||||
'recurring': gp_details['recurring'],
|
'recurring': gp_details['recurring'],
|
||||||
'product_name': gp_details['product_name'],
|
'product_name': gp_details['product_name'],
|
||||||
|
'product_id': gp_details['product_id'],
|
||||||
'order_id': order.id
|
'order_id': order.id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue