def place_order(request): #TODO: If the user is not the admin, the member will not be asked. # The member will be the logged in user. if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): books = form.cleaned_data['books'] order = form.save(commit=False) member = order.member type = order.order_type order.save() total_purchase = 0 if type == 1: for b in books: member.borrowed_books.add(b) member.save() else: for b in books: order.books.add(b) total_purchase += b.price order.save() return render(request, 'myapp/order_response.html', {'books': books, 'order':order, 'total_purchase': total_purchase}) else: return render(request, 'myapp/placeorder.html', {'form':form}) else: form = OrderForm() if not request.user.is_superuser: form.fields['member'].queryset=Member.objects.filter(user_ptr=request.user) return render(request, 'myapp/placeorder.html', {'form':form})
def place_order(request): msg = '' prodlist = Product.objects.all() if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): order = form.save(commit=False) if order.num_units <= order.product.stock: var = Product.objects.get(name=order.product) newstock = Product.objects.filter(name=var).values_list( 'stock', flat=True).get() msg = 'Your order has been placed successfully.' p = Product() p.updateStock(var, newstock, order.num_units) order.save() else: msg = 'We do not have sufficient stock to fill your order.' return render(request, 'myapp/order_response.html', {'msg': msg}) else: form = OrderForm() return render(request, 'myapp/placeorder.html', { 'form': form, 'msg': msg, 'prodlist': prodlist })
def make_order_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) form = OrderForm(request.POST or None) categories = Category.objects.all() if form.is_valid(): name = form.cleaned_data['name'] last_name = form.cleaned_data['last_name'] phone = form.cleaned_data['phone'] buying_type = form.cleaned_data['buying_type'] address = form.cleaned_data['address'] comments = form.cleaned_data['comments'] new_order = Order.objects.create(user=request.user, items=cart, total=cart.total_cart, first_name=name, last_name=last_name, phone=phone, address=address, buying_type=buying_type, comments=comments) del request.session['cart_id'] del request.session['total'] return HttpResponseRedirect(reverse('thank_you')) return render(request, 'order.html', {'categories': categories})
def place_order(request): msg = '' prodlist = Product.objects.all() if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): order = form.save(commit=False) if order.num_units <= order.product.stock: order.save() msg = 'Order placed succesfully.' else: msg = 'We dont have sufficient stock to fill your order.' return render(request, 'myapp/order_response.html', {'msg': msg}) else: form = OrderForm() return render(request, 'myapp/placeorder.html', { 'form': form, 'msg': msg, 'prodlist': prodlist })
def place_order(request): msg = '' courselist = Course.objects.all() if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): order = form.save(commit=False) print(order) if order.levels <= order.course.stages: form.save() msg = 'Your course has been ordered successfully.' if float(order.course.price) > 150: order.course.discounted_price = Course.discount(order.course) order.course.save() msg = msg + 'Price for order updated to $' + str(order.course.discounted_price) else: msg = 'You exceeded the number of levels for this course.' return render(request, 'myapp/order_response.html', {'msg': msg}) else: form = OrderForm() return render(request, 'myapp/placeorder.html', {'form': form, 'msg': msg, 'courselist': courselist})
def order_create_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) categories = Category.objects.all() form = OrderForm(request.POST or None) context = {'form': form, 'cart': cart, 'categories': categories} return render(request, 'order.html', context)
def place_order(request): if request.user.is_authenticated: testuser = request.user else: testuser = "" msg = '' prodlist = Product.objects.all() if request.method == 'POST': form = forms.OrderForm(request.POST) if form.is_valid(): order = form.save(commit=False) if order.num_unit <= order.product.stock: product = Product.objects.get(name=order.product.name) product.stock = product.stock - order.num_unit product.save() msg = 'Your order has been placed successfully.' p = Product() p.refill(order.product.name) order.save() else: msg = 'We do not have sufficient stock to fill your order.' p = Product() p.refill(order.product.name) order.save() return render(request, 'myapp/order_response.html', { 'msg': msg, 'testuser': testuser }) # else: # msg = "Invalid user, select logged in user to place order" # return render(request, 'myapp/order_response.html', {'msg': msg, 'testuser': testuser}) else: form = OrderForm() return render(request, 'myapp/placeorder.html', { 'form': form, 'msg': msg, 'prodlist': prodlist, 'testuser': testuser })