summaryrefslogtreecommitdiff
path: root/inventory/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'inventory/views.py')
-rw-r--r--inventory/views.py34
1 files changed, 28 insertions, 6 deletions
diff --git a/inventory/views.py b/inventory/views.py
index 681009d..88f7199 100644
--- a/inventory/views.py
+++ b/inventory/views.py
@@ -40,7 +40,19 @@ from django.http import JsonResponse
def fulfillment(request):
- return render(request, 'inventory/fulfillment.html')
+ order_id = request.GET.get('order_id')
+ if order_id is None:
+ return HttpResponse("Error while loading the page")
+ order_instance = Order.objects.get(order_id=order_id)
+ product = order_instance.product_id.all()
+ for item in range(len(product)):
+ if product[item].document:
+ filename = product[item].document.file.name.split('/')[-1]
+ response = HttpResponse(product[item].document.file, content_type='application/pdf')
+ response['Content-Disposition'] = 'inline; filename=%s' % filename
+ return response
+ else:
+ return render(request, 'inventory/fulfillment.html')
def shipment(request):
@@ -106,7 +118,7 @@ def pay(request):
def payment(request):
- # session_id = request.session.session_key
+ session_id = request.session.session_key
name = request.GET.get('name')
price = request.GET.get('price')
merchant = request.GET.get('merchant')
@@ -139,15 +151,25 @@ def payment(request):
)
)
order_resp = backend_post("order", order)
+ try:
+ order_id = order_resp["order_id"]
+ except Exception as e:
+ return HttpResponse("Please refresh and try again")
# Checking Payment Status and Prompting for Payment
pay_params = dict(
instance="default",
- order_id=order_resp["order_id"],
- # session_id=session_id,
+ order_id=order_id,
+ session_id=session_id,
)
pay_status = backend_get("check-payment", pay_params)
- payment_redirect_url = pay_status["payment_redirect_url"]
- return redirect(payment_redirect_url)
+ if pay_status["paid"]:
+ base_url = request.build_absolute_uri().rsplit('/', 1)[0]
+ url = base_url+"/fulfillment?order_id="+order_resp["order_id"]
+ return redirect(url)
+ else:
+ if pay_status["payment_redirect_url"]:
+ payment_redirect_url = pay_status["payment_redirect_url"]
+ return redirect(payment_redirect_url)
def backend_get(endpoint, params):