def AddCartHandler(request): art_id = int(request.GET.get("id", 0)) if art_id == 0: return HttpResponseRedirect("/art/index") product = Art.objects.get(id=art_id) user = request.session.get("muser") Cart.add_product(product, user) return ViewCartHandler(request)
def buy(request): if request.method == 'POST': book_id = request.POST['book_id'] book = Book.objects.get(pk=book_id) user = request.user carts = Cart.objects.filter(user=user) if len(carts) == 0: cart_struct = copy.deepcopy(cart_template) item_list_length = len(cart_struct['data']['items']) start_id = item_list_length+1 book_dict = { "id" : start_id, "name" : book.title, "externalProductCode" : "scribble+"+str(start_id), "quantity" : 1, "actualPrice" : int(book.price), "commodityCode" : "55111504.120", "listPrice" : int(book.price), "extendedPrice" : int(book.price), } cart_struct['data']['items'].append(book_dict) cart_struct = json.dumps(cart_struct) print cart_struct url = "https://api.intel.com/commerce/v1/users/"+user.username+'/carts' # url = "https://api.intel.com/commerce/v1/users/carts" headers = { 'Authorization' : 'Bearer ' + user.oauth_user.access_token, 'Accept' : 'application/json', 'Content-Type' : 'application/json' } req = urllib2.Request(url, data=cart_struct, headers=headers) res = urllib2.urlopen(req) status_code = res.getcode() if status_code == 201: cart_id = json.loads(res.read())['cartId'] cart = Cart(user=user,cart_id=cart_id,cart_struct_made=True) cart.save() return render(request, 'commerce/cart.html', json.loads(cart_struct)) else: return render(request, 'commerce/error.html')
def get_cart_id(user): url = 'https://api.intel.com/commerce/v1/users/'+user.username+'/carts' headers = { 'Authorization': 'Bearer ' + user.oauth_user.access_token, 'Accept': 'application/json', 'Content-Type' : 'application/json' } req = urllib2.Request(url, data={'test':'test'}, headers=headers) res = urllib2.urlopen(req).read() res = json.loads(res) cart_id = res['cartId'] cart = Cart(user=user, cart_id=cart_id) cart.save()
def ViewCartHandler(request): user = request.session.get("muser") (total_price, product_list) = Cart.get_products(user) context = dict( user=user, total_price=total_price, product_list=product_list, ) return render(request, "view_cart.html", context=context)
def CartOrderHandler(request): user = request.session.get("muser") (total_price, product_list) = Cart.get_products(user) order_form = forms.OrderForms() context = dict( user=user, total_price=total_price, product_list=product_list, form=order_form, ) return render(request, "product_order.html", context=context)