Skip to content

Commit

Permalink
Create m3-p1-s8-views.py
Browse files Browse the repository at this point in the history
  • Loading branch information
divanov11 authored Apr 23, 2020
1 parent 2afb7bb commit 17ecadf
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions m3-p1-s8-views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
from django.shortcuts import render
from django.http import JsonResponse
import json

from .models import *

def store(request):

if request.user.is_authenticated:
customer = request.user.customer
order, created = Order.objects.get_or_create(customer=customer, complete=False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items
else:
#Create empty cart for now for non-logged in user
items = []
order = {'get_cart_total':0, 'get_cart_items':0}
cartItems = order['get_cart_items']

products = Product.objects.all()
context = {'products':products, 'cartItems':cartItems}
return render(request, 'store/store.html', context)

def cart(request):

if request.user.is_authenticated:
customer = request.user.customer
order, created = Order.objects.get_or_create(customer=customer, complete=False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items
else:
#Create empty cart for now for non-logged in user
items = []
order = {'get_cart_total':0, 'get_cart_items':0}
cartItems = order['get_cart_items']

context = {'items':items, 'order':order, 'cartItems':cartItems}
return render(request, 'store/cart.html', context)

def checkout(request):
if request.user.is_authenticated:
customer = request.user.customer
order, created = Order.objects.get_or_create(customer=customer, complete=False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items
else:
#Create empty cart for now for non-logged in user
items = []
order = {'get_cart_total':0, 'get_cart_items':0}
cartItems = order['get_cart_items']

context = {'items':items, 'order':order, 'cartItems':cartItems}
return render(request, 'store/checkout.html', context)

def updateItem(request):
data = json.loads(request.body)
productId = data['productId']
action = data['action']
print('Action:', action)
print('Product:', productId)

customer = request.user.customer
product = Product.objects.get(id=productId)
order, created = Order.objects.get_or_create(customer=customer, complete=False)

orderItem, created = OrderItem.objects.get_or_create(order=order, product=product)

if action == 'add':
orderItem.quantity = (orderItem.quantity + 1)
elif action == 'remove':
orderItem.quantity = (orderItem.quantity - 1)

orderItem.save()

if orderItem.quantity <= 0:
orderItem.delete()

return JsonResponse('Item was added', safe=False)

0 comments on commit 17ecadf

Please sign in to comment.