def cart_update(request): if request.method=="POST": #POST 값 받아오기 item_id_list = request.POST.getlist('item_id') option_id_list = request.POST.getlist('option_id') quantity_list = request.POST.getlist('quantity') #있는거 번호 체크 num_list = [] for i, item in enumerate(quantity_list): if item != '0': num_list.append(i) #카트 있는지 체크 cart_exist_check = Cart.objects.filter(user = request.user).order_by('cart_id') if(cart_exist_check): #카트 있으면 있는거에 집어넣기 new_cart_id = cart_exist_check[0].cart_id else: #카트 없으면 카트 아이디 만들고 집어넣기 new_cart_id = 'cart'+datetime.datetime.now().strftime ("%Y%m%d%H%M%S")+str(request.user) for i in num_list: new_cart = Cart( cart_id = new_cart_id, user = request.user, item = Item.objects.get(item_id = item_id_list[i]), item_option = ItemOption.objects.get(option_id = option_id_list[i]), quantity=quantity_list[i], ) new_cart.save() return HttpResponseRedirect(reverse("cart"))
def cart_update(request): if request.method == "POST": #POST 값 받아오기 item_id_list = request.POST.getlist('item_id') option_id_list = request.POST.getlist('option_id') quantity_list = request.POST.getlist('quantity') #있는거 번호 체크 num_list = [] for i, item in enumerate(quantity_list): if item != '0': num_list.append(i) #카트 있는지 체크 cart_exist_check = Cart.objects.filter( user=request.user).order_by('cart_id') if (cart_exist_check): #카트 있으면 있는거에 집어넣기 new_cart_id = cart_exist_check[0].cart_id else: #카트 없으면 카트 아이디 만들고 집어넣기 new_cart_id = 'cart' + datetime.datetime.now().strftime( "%Y%m%d%H%M%S") + str(request.user) for i in num_list: new_cart = Cart( cart_id=new_cart_id, user=request.user, item=Item.objects.get(item_id=item_id_list[i]), item_option=ItemOption.objects.get( option_id=option_id_list[i]), quantity=quantity_list[i], ) new_cart.save() return HttpResponseRedirect(reverse("cart"))
def add_cart(reguest): args={} args.update(csrf(reguest)) if reguest.POST: args['car'] = Car.objects.get(id=reguest.POST.get('id','')) de=Cart(vehicle= Car.objects.get(id=reguest.POST.get('id','')), user=User.objects.get(id= auth.get_user(reguest).id), quantity=reguest.POST.get('quantity','')) de.save() return redirect('/order/cart/')
def getCart(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) cart.sk = str(request.session.session_key) cart.save() except: cart = Cart() cart.sk = str(request.session.session_key) cart.save() request.session['cart_id'] = cart.id return cart
def create_or_update_cart(self, order, items): for item in items['all']: product = item['product'] item['order'] = order.id item['product'] = product.id cart_item = CartSerializer(data=item) if not cart_item.is_valid(): raise ValidationError(cart_item.errors) data = cart_item.data data['order'] = order data['product'] = product data['price'] = product.price item_obj = Cart(**data) item_obj.save()
def checkout(request): if request.method == 'POST': dataDictionary = json.loads(request.body) # print dataDictionary mallId = dataDictionary['mallId'] userId = dataDictionary['userId'] cart = dataDictionary['cart'] user = User.objects.get(id=userId) mall = Mall.objects.get(id=mallId) order = Order(user=user, mall=mall) generateUniqueTransactionId(order) mall = Mall.objects.get(id=mallId) items = Item.objects.filter(mall_id=mall.id) itemList = [] for item in items: dic = { "itemId": item.id, "itemName": item.itemName, "description": item.description, "price": item.price, "unit": item.unit, "barcode": item.barcode } itemList.append(dic) amountToPay = 0 for cartItem in cart: item = Item.objects.get(id=cartItem['itemId']) cartObject = Cart(item=item, quantity=cartItem['quantity'], order=order) cartObject.save() amountToPay += item.price * cartItem['quantity'] args = { "success": True, "transactionId": order.transactionId, "amountToPay": amountToPay, "message": "Order created sussessfully" } return HttpResponse(json.dumps(args), content_type="application/json") else: status = {"status": False, "message": "Send Post request"} return HttpResponse(json.dumps(status), content_type="application/json")
def cart_update(request): if request.method == "POST": #POST 값 받아오기 item_id_list = request.POST.getlist('item_id') option_id_list = request.POST.getlist('option_id') quantity_list = request.POST.getlist('quantity') buy_now_text = request.POST.get('buy_now') #있는거 번호 체크 num_list = [] for i, item in enumerate(quantity_list): if item != '0': num_list.append(i) #로그인여부 체크 if not request.user.is_authenticated(): #세션 키 이름으로 카트 존재하는지 확인 if not request.session.session_key: request.session.create() cart_exist_check = Cart.objects.filter( cart_id=request.session.session_key).order_by('cart_id') if (cart_exist_check): #있으면 거기다 추가 new_cart_id = cart_exist_check[0].cart_id else: #익명유저다 그러면 new_cart_id = request.session.session_key for i in num_list: new_cart = Cart( cart_id=new_cart_id, item=Item.objects.get(item_id=item_id_list[i]), item_option=ItemOption.objects.get( option_id=option_id_list[i]), quantity=quantity_list[i], ) new_cart.save() else: #카트 있는지 체크 cart_exist_check = Cart.objects.filter( user=request.user, order_flag=False).order_by('cart_id') if (cart_exist_check): #카트 있으면 있는거에 집어넣기 new_cart_id = cart_exist_check[0].cart_id else: #카트 없으면 카트 아이디 만들고 집어넣기 new_cart_id = 'cart' + datetime.datetime.now().strftime( "%Y%m%d%H%M%S") + str(request.user) for i in num_list: new_cart = Cart( cart_id=new_cart_id, user=request.user, item=Item.objects.get(item_id=item_id_list[i]), item_option=ItemOption.objects.get( option_id=option_id_list[i]), quantity=quantity_list[i], ) new_cart.save() if buy_now_text == 'buy_now': return redirect('order_info') return HttpResponseRedirect(reverse("cart"))
def get_users_cart_page(request): """ Gets the user's active cart based on the given user_id, if 'is_sent' is 'true', give all sent carts otherwise give the only existing active cart """ try: user_id = request.GET.get('user_email') if is_sent(request.GET.get('is_sent')): carts = Cart().users_sent_carts(user_id) carts_dict = {'carts': models_to_json(carts)} # serialize carts return JsonResponse(carts_dict) else: cart = Cart().users_active_cart(user_id) return JsonResponse({'carts': [model_to_json(cart)]}) except ObjectDoesNotExist: # something went wrong (invalid user/no cart) return JsonResponse({'NoCart': 'Closed'})
def get_restaurant_carts_page(request): """ Gets the list of carts which have been sent, and are not completed, with this restaurant_id """ restaurant_id = request.GET.get('restaurant_id') carts = Cart.restaurants_carts(Cart, restaurant_id) carts_dict = {'carts': models_to_json(carts)} return JsonResponse(carts_dict)
def decline_cart_page(request): """Decline a cart which has been sent by a user""" validate(instance=request.body, schema=cart_schema) body = json.loads(request.body) try: cart = Cart().decline_cart(cart_id=body['_id']) return JsonResponse(model_to_json(cart)) except ValueError as error: return HttpResponseBadRequest(str(error))
def checkout(request): if request.method == 'POST': dataDictionary = json.loads(request.body) # print dataDictionary mallId = dataDictionary['mallId'] userId = dataDictionary['userId'] cart = dataDictionary['cart'] user = User.objects.get(id = userId) mall = Mall.objects.get(id = mallId) order = Order(user = user,mall = mall) generateUniqueTransactionId(order) mall = Mall.objects.get(id = mallId) items = Item.objects.filter(mall_id = mall.id) itemList = [] for item in items: dic = {"itemId":item.id,"itemName":item.itemName, "description":item.description, "price":item.price,"unit":item.unit,"barcode": item.barcode} itemList.append(dic) amountToPay = 0 for cartItem in cart: item = Item.objects.get(id = cartItem['itemId']) cartObject = Cart(item = item, quantity = cartItem['quantity'],order = order) cartObject.save() amountToPay += item.price *cartItem['quantity'] args = { "success": True, "transactionId":order.transactionId, "amountToPay":amountToPay, "message":"Order created sussessfully"} return HttpResponse(json.dumps(args), content_type = "application/json") else: status = {"status" :False,"message": "Send Post request" } return HttpResponse(json.dumps(status), content_type = "application/json")
def cart_update(request): if request.method=="POST": #POST 값 받아오기 item_id_list = request.POST.getlist('item_id') option_id_list = request.POST.getlist('option_id') quantity_list = request.POST.getlist('quantity') buy_now_text = request.POST.get('buy_now') #있는거 번호 체크 num_list = [] for i, item in enumerate(quantity_list): if item != '0': num_list.append(i) #로그인여부 체크 if not request.user.is_authenticated(): #세션 키 이름으로 카트 존재하는지 확인 if not request.session.session_key: request.session.create() cart_exist_check = Cart.objects.filter(cart_id=request.session.session_key).order_by('cart_id') if(cart_exist_check): #있으면 거기다 추가 new_cart_id = cart_exist_check[0].cart_id else : #익명유저다 그러면 new_cart_id = request.session.session_key for i in num_list: new_cart = Cart( cart_id = new_cart_id, item = Item.objects.get(item_id = item_id_list[i]), item_option = ItemOption.objects.get(option_id = option_id_list[i]), quantity=quantity_list[i], ) new_cart.save() else: #카트 있는지 체크 cart_exist_check = Cart.objects.filter(user = request.user, order_flag=False).order_by('cart_id') if(cart_exist_check): #카트 있으면 있는거에 집어넣기 new_cart_id = cart_exist_check[0].cart_id else: #카트 없으면 카트 아이디 만들고 집어넣기 new_cart_id = 'cart'+datetime.datetime.now().strftime ("%Y%m%d%H%M%S")+str(request.user) for i in num_list: new_cart = Cart( cart_id = new_cart_id, user = request.user, item = Item.objects.get(item_id = item_id_list[i]), item_option = ItemOption.objects.get(option_id = option_id_list[i]), quantity=quantity_list[i], ) new_cart.save() if buy_now_text == 'buy_now': return redirect('order_info') return HttpResponseRedirect(reverse("cart"))
def add_to_cart(request): itemId = request.GET.get('itemId') carts = Cart.objects.filter(item_id=itemId).filter(user=request.user) if carts.exists(): cart_obj = carts.first() cart_obj.num = cart_obj.num + 1 else: cart_obj = Cart() cart_obj.item_id = itemId cart_obj.user = request.user cart_obj.save() data = { 'status': 200, 'msg': "An item has been added to cart successfully!", 'num': cart_obj.num, } return JsonResponse(data=data)
def insert_cart_page(request): """ Insert cart to database """ validate(instance=request.body, schema=cart_schema) body = json.loads(request.body) cart = Cart.new_cart(body['restaurant_id'], body['user_email']) return JsonResponse(model_to_json(cart))