Example #1
0
def order_create(request):
    cart = Cart(request)
    if request.method == 'POST':
        form = OrderCreateForm(request.POST)
        if form.is_valid():
            order = form.save()
            order.user = request.user
            order.save()
            for item in cart:
                OrderItem.objects.create(order=order,
                                         product=item['product'],
                                         price=item['price'],
                                         quantity=item['quantity'])
            # очистка корзины
            cart.clear()
            # запуск асинхронной задачи
            order_created.delay(order.id)
            # set the order in the session
            request.session['order_id'] = order.id
            # redirect to the payment
        return redirect(reverse('payment:process'))
    else:
        form = OrderCreateForm
    return render(request, 'orders/order/create.html', {
        'cart': cart,
        'form': form
    })
Example #2
0
def order_create():
    form = OrderCreateForm()
    if form.validate_on_submit():
        cart = Cart()
        if len(cart) == 0:
            return redirect(url_for('index'))
        order = Order(form.name.data, form.phone.data, form.address.data)
        order.create(cart)
        cart.clear()
        return render_template('shop/cart/created.html',
                               form=form,
                               order=order)
    return render_template('shop/cart/create.html', form=form)