Beispiel #1
0
def order(request):
    c = get_common_context(request)
    if request.method == "POST":
        if "step" in request.POST:
            step = int(request.POST["step"])
            res = []
            sum_price = 0
            for k, v in request.POST.iteritems():
                if k.startswith("field_") and int(v) > 0:
                    item = Item.get(int(k[6:]))
                    count = int(v)
                    res.append((item, count))
                    sum_price += item.price * count
            c["sum_price"] = sum_price
            c["order_content"] = res
            if step == 1:
                c["form"] = OrderForm()
                return render_to_response("order.html", c, context_instance=RequestContext(request))
            elif step == 2:
                form = OrderForm(request.POST)
                if form.is_valid():
                    ord = form.save()
                    print ord
                    for item, count in res:
                        OrderContent(order=ord, item=item, count=count).save()
                    ord.send_email()
                    return render_to_response("order_ok.html", c, context_instance=RequestContext(request))
                else:
                    c["form"] = form
                    return render_to_response("order.html", c, context_instance=RequestContext(request))
        else:
            raise Http404()
    else:
        raise Http404()
Beispiel #2
0
def order(request):
    c = get_common_context(request)
    if request.method == 'POST':
        if 'step' in request.POST:
            step = int(request.POST['step'])
            res = []
            sum_price = 0
            for k, v in request.POST.iteritems():
                if k.startswith('field_') and int(v) > 0:
                    item = Item.get(int(k[6:]))
                    count = int(v)
                    res.append((item, count))
                    sum_price += item.price * count
            c['sum_price'] = sum_price
            c['order_content'] = res
            if step == 1:
                c['form'] = OrderForm()
                return render_to_response(
                    'order.html', c, context_instance=RequestContext(request))
            elif step == 2:
                form = OrderForm(request.POST)
                if form.is_valid():
                    ord = form.save()
                    print ord
                    for item, count in res:
                        OrderContent(order=ord, item=item, count=count).save()
                    ord.send_email()
                    return render_to_response(
                        'order_ok.html',
                        c,
                        context_instance=RequestContext(request))
                else:
                    c['form'] = form
                    return render_to_response(
                        'order.html',
                        c,
                        context_instance=RequestContext(request))
        else:
            raise Http404()
    else:
        raise Http404()