def order(request, step='1'): c = get_common_context(request) if step == '1': if request.user.is_authenticated(): return HttpResponseRedirect('/order/2/') else: if request.method == "GET": auth_form = AuthenticationForm() register_form = RegisterForm() c['auth_form'] = auth_form c['register_form'] = register_form return render_to_response('order_1.html', c, context_instance=RequestContext(request)) else: request.session['is_order'] = True return register(request) else: if not request.user.is_authenticated(): return HttpResponseRedirect('/order/1/') if step == '2': c['items'] = c['cart_working'].get_content(request.user) return render_to_response('order_2.html', c, context_instance=RequestContext(request)) elif step == '3': from shop.forms import Step3Form if request.method == 'GET': user_profile = request.user.get_profile() form = Step3Form(initial={ 'fio': user_profile.fio, 'phone': user_profile.phone, 'index': user_profile.index, 'city': user_profile.city, 'street': user_profile.street, 'house': user_profile.house, }) else: form = Step3Form(request.POST) if form.is_valid(): Order.get_or_create(request.user) return HttpResponseRedirect('/order/4/') c['form'] = form return render_to_response('order_3.html', c, context_instance=RequestContext(request)) elif step == '4': if request.method == 'GET': return render_to_response('order_4.html', c, context_instance=RequestContext(request)) else: o = Order.get_recent(request.user) if o: o.delivery = request.POST['delivery'] o.save() return HttpResponseRedirect('/order/5/') else: return HttpResponseRedirect('/order/2/') elif step == '5': if request.method == 'GET': return render_to_response('order_5.html', c, context_instance=RequestContext(request)) else: o = Order.get_recent(request.user) if o: o.send() c['order_send'] = True return render_to_response('order_5.html', c, context_instance=RequestContext(request)) else: return HttpResponseRedirect('/order/2/') else: return HttpResponseRedirect('/cart/')