diff options
author | shivam kohli <kohlishivam5522@gmail.com> | 2018-07-09 02:11:07 +0530 |
---|---|---|
committer | shivam kohli <kohlishivam5522@gmail.com> | 2018-07-09 02:11:07 +0530 |
commit | c1b0677b2a9e48f2916f61fbd69194aad7830d8a (patch) | |
tree | 18bfae3cad14d2db7b8d4967cba2f2f87d471487 /inventory/views.py | |
parent | 1cfc3be3bc7d089f2e01f6e4546476efd455f601 (diff) | |
download | codeless-c1b0677b2a9e48f2916f61fbd69194aad7830d8a.tar.gz codeless-c1b0677b2a9e48f2916f61fbd69194aad7830d8a.tar.bz2 codeless-c1b0677b2a9e48f2916f61fbd69194aad7830d8a.zip |
added shipment detail form and some basic improvements
Diffstat (limited to 'inventory/views.py')
-rw-r--r-- | inventory/views.py | 66 |
1 files changed, 54 insertions, 12 deletions
diff --git a/inventory/views.py b/inventory/views.py index 93e7cd8..681009d 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -22,7 +22,7 @@ from inventory.forms import SignUpForm, MerchantDetailForm, LoginForm, DocumentForm -from inventory.models import Merchant, Product +from inventory.models import Merchant, Product, Order from django.contrib.auth.models import User from django.contrib.auth import authenticate from django.contrib.auth import login as auth_login @@ -43,6 +43,41 @@ def fulfillment(request): return render(request, 'inventory/fulfillment.html') +def shipment(request): + context_dict = {} + name = request.GET.get('name') + price = request.GET.get('price') + merchant = request.GET.get('merchant') + context_dict['name'] = name + context_dict['price'] = price + context_dict['merchant'] = merchant + return render(request, 'inventory/shipment_details.html', context_dict) + + +@login_required +def order(request): + user_instance = User.objects.get(username=request.user.username) + order = Order.objects.filter(merchant=user_instance) + context_dict = {} + array = [] + for i in order: + data = {} + data['order_id'] = i.order_id + product = i.product_id.all() + array_product = [] + for item in range(len(product)): + data_product = {} + data_product["name"] = product[item].name + array_product.append(data_product) + data['array_product'] = array_product + data['summary'] = i.summary + data['order_date'] = i.order_date + data['address'] = i.address + array.append(data) + context_dict['data'] = array + return render(request, 'inventory/order.html', context_dict) + + @csrf_exempt def pay(request): if request.method == 'POST': @@ -56,19 +91,31 @@ def pay(request): if r.status_code != 200: return HttpResponse(r.status_code) contract_terms = r.json()["contract_terms"] - print(contract_terms['products']) + order_instance = Order.objects.create( + order_id=contract_terms["order_id"], + summary=contract_terms["summary"], + merchant=User.objects.get(username=contract_terms["merchant"]["name"]) + ) + order_instance.save() for i in contract_terms['products']: + product_instance = Product.objects.get(name=i["description"]) + order_instance.product_id.add(product_instance) + order_instance.save() update_inventory(i["description"],i["quantity"]) return JsonResponse(r.json()) def payment(request): - session_id = request.session.session_key - # merchant_instance = User.objects.get(username=uid) + # session_id = request.session.session_key name = request.GET.get('name') price = request.GET.get('price') merchant = request.GET.get('merchant') + name_user = request.GET.get('name_user') + address_user = request.GET.get('address_user') summary = name+' purchased from '+merchant + user = User.objects.get(username=merchant) + primary_key = user.pk + merchant_instance = Merchant.objects.get(pk=primary_key) base_url = request.build_absolute_uri().rsplit('/', 1)[0] # Creating an Order for a Payment order = dict(order=dict(amount="KUDOS:"+price, @@ -84,7 +131,7 @@ def payment(request): fulfillment_url=base_url+"/fulfillment/", pay_url=base_url+"/pay/", merchant=dict( - address="test", + address=merchant_instance.address, name=merchant, jurisdiction="none", instance="default", @@ -96,7 +143,7 @@ def payment(request): pay_params = dict( instance="default", order_id=order_resp["order_id"], - session_id=session_id, + # session_id=session_id, ) pay_status = backend_get("check-payment", pay_params) payment_redirect_url = pay_status["payment_redirect_url"] @@ -219,16 +266,11 @@ def product(request, uid): base_url = request.build_absolute_uri().rsplit('/', 3)[0] merchant = request.user.username parameters = "name="+product.name+'&price='+product.price+'&merchant='+merchant - context_dict['href'] = base_url + "/payment?"+parameters + context_dict['href'] = base_url+"/shipment?"+parameters return render(request, 'inventory/product.html', context_dict) @login_required -def customize_payment_button(request): - return render(request, 'inventory/new_product.html') - - -@login_required def new_product(request): if request.method == 'POST': form = DocumentForm(request.POST, request.FILES) |