Move coupon save to appropriate place

This commit is contained in:
Nathan Chapman 2022-05-12 17:38:51 -06:00
parent dd97a7cfc4
commit cc40d3e4db

View File

@ -268,16 +268,6 @@ class OrderCreateView(CreateView):
shipping_address = self.request.session.get('shipping_address')
form.instance.customer, form.instance.shipping_address = get_or_create_customer(self.request, form, shipping_address)
form.instance.status = OrderStatus.DRAFT
try:
coupon = Coupon.objects.get(
code=self.request.session.get('coupon_code')
)
except ObjectDoesNotExist:
coupon = None
if coupon:
form.instance.coupon = coupon
coupon.users.add(form.instance.customer)
self.object = form.save()
bulk_list = cart.build_bulk_list(self.object)
objs = OrderLine.objects.bulk_create(bulk_list)
@ -296,14 +286,24 @@ def paypal_order_transaction_capture(request, transaction_id):
if request.method == "POST":
data = CaptureOrder().capture_order(transaction_id)
cart = Cart(request)
cart.clear()
order = Order.objects.get(pk=request.session.get('order_id'))
order.status = OrderStatus.UNFULFILLED
try:
coupon = Coupon.objects.get(
code=self.request.session.get('coupon_code')
)
except ObjectDoesNotExist:
coupon = None
if coupon:
form.instance.coupon = coupon
coupon.users.add(form.instance.customer)
order.save()
transaction = Transaction.objects.get(order=order)
transaction.paypal_id = data['purchase_units'][0]['payments']['captures'][0]['id']
transaction.status = data['status']
transaction.save()
cart.clear()
logger.debug(f'\nPayPal Response data: {data}\n')
return JsonResponse(data)