示例#1
0
def basket(request):
    # do not create order automatically
    order = request.order
    if order is None:
        return HttpResponseRedirect(reverse('basket-empty'))

    if request.method == 'POST':
        formset = OrderFormset(request.POST, instance=order)

        if formset.is_valid():
            formset.save()

            if 'refresh' in request.POST:
                return HttpResponseRedirect(reverse('basket'))
            else:
                return HttpResponseRedirect(reverse('order_confirm'))
    else:
        formset = OrderFormset(instance=order)

    return {
        'order_form': get_order_form()(request),
        'formset': formset,
        'order': order,
        'keep': BASKET_OPTIONS_USE_KEEP,
        'delete': BASKET_OPTIONS_USE_DELETE,
    }
示例#2
0
def confirm(request):
    # do not create order automatically
    order = request.order

    if order is None or order.empty():
        return HttpResponseRedirect(reverse('basket-empty'))

    if request.method == 'POST':
        form = get_order_form()(request, request.POST)
        if form.is_valid():
            order_submit.send(sender=Order, order=order, data=form.cleaned_data)
            return HttpResponseRedirect(reverse('basket-thankyou'))
    else:
        form = get_order_form()(request)
    return {
        'form': form,
        'order': order,
        'keep': BASKET_OPTIONS_USE_KEEP,
        'delete': BASKET_OPTIONS_USE_DELETE,
    }
示例#3
0
def comment_order(order, form_data):
    OrderForm = get_order_form()
    result = {}
    for field_name, value in form_data.iteritems():
        result.update({
            field_name: (value, OrderForm.base_fields[field_name].label),
        })

    message = loader.render_to_string('basket/order.txt', {
        'order': order,
        'form_data': result,
    })
    return message