summaryrefslogtreecommitdiff
path: root/inventory/views.py
diff options
context:
space:
mode:
authorshivam kohli <kohlishivam5522@gmail.com>2018-07-09 02:11:07 +0530
committershivam kohli <kohlishivam5522@gmail.com>2018-07-09 02:11:07 +0530
commitc1b0677b2a9e48f2916f61fbd69194aad7830d8a (patch)
tree18bfae3cad14d2db7b8d4967cba2f2f87d471487 /inventory/views.py
parent1cfc3be3bc7d089f2e01f6e4546476efd455f601 (diff)
downloadcodeless-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.py66
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)