def order_create(request): basket = Basket(request) user = request.user if request.method == "POST": order_numbr = get_order_number() request.POST = request.POST.copy() request.POST['order_number'] = order_numbr form = OrderCreateForm(request.POST) if form.is_valid(): order = form.save(commit=False) order.save() for item in basket: OrderProduct.objects.create(order=order, product=item['product'], price=item['price'], quantity=item['quantity']) #clear basket basket.clear() return render(request, 'order/created.html', {'order_number': order.order_number}) else: form = OrderCreateForm(initial={'order_by': user}) return render(request, 'order/create.html', { 'basket': basket, 'form': form })
def order_placed(request): """After the user checks out (clicks on 'Place order') we make changes to the attributes of active order.""" basket = Basket(request) user = request.user profile = Profile.objects.get(user=user) active_order = Order.objects.get(client=profile, active_basket=True) active_order.active_basket = False active_order.order_status = 'PD' active_order.invoice_total = Decimal(basket.get_total_price()) active_order.save() basket.clear() return render(request, 'orders/order_placed.html')
def payment_complete(request): """ Payment complete view """ basket = Basket(request) basket.clear() user = request.user current_site = get_current_site(request) subject = 'Order Placed' protocol = 'https' if request.is_secure() else 'http' message = render_to_string('payment/payment_complete_email.html', { 'protocol': protocol, 'user': user, 'domain': current_site.domain, }) user.email_user(subject=subject, message=message, email=user.email) return render(request, 'payment/payment_complete.html')
def order_create(request): basket = Basket(request) if request.method == 'POST': form = OrderCreateForm(request.POST) if form.is_valid(): order = form.save() for item in basket: OrderItem.objects.create(order=order, product=item['product'], price=item['price'], quantity=item['quantity']) basket.clear() order_created.delay(order.id) return render(request, 'orders/order/created.html', {'order': order}) else: form = OrderCreateForm() return render(request, 'orders/order/create.html', { 'basket': basket, 'form': form })
def order_create(request): user = request.user print(user.username) basket = Basket(request) if request.method == 'POST': if user.username != '': form = OrderCreateForm(request.POST) else: form = OrderCreateAnonForm(request.POST) if form.is_valid(): order = form.save() if not request.POST.get('phone'): order.first_name = user.first_name order.phone = str(user) order.save() for item in basket: OrderItem.objects.create(order=order, product=item['product'], price=item['price'], quantity=item['quantity']) basket.clear() return render(request, 'order/created.html', {'order': order}) else: if user.username != '': form = OrderCreateForm else: form = OrderCreateAnonForm return render(request, 'order/order.html', { 'basket': basket, 'form': form })
def order_placed(request): basket = Basket(request) basket.clear() return render(request, 'payment/orderplaced.html')
def payment_successful(request): basket = Basket(request) basket.clear() return render(request, "checkout/payment_successful.html", {})