示例#1
0
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
    })
示例#2
0
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')
示例#3
0
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')
示例#4
0
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
    })
示例#5
0
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
    })
示例#6
0
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", {})