def create_order(request, transaction_id): order = Order() checkout_form = CheckoutForm(request.POST, instance=order) order = checkout_form.save(commit=False) order.transaction_id = transaction_id order.ip_address = request.META.get('REMOTE_ADDR') order.user = None if request.user.is_authenticated(): order.user = request.user order.status = Order.SUBMITTED order.save() # if the order save succeeded if order.pk: cart_items = cart.get_cart_items(request) for ci in cart_items: # create order item for each cart item oi = OrderItem() oi.order = order oi.quantity = ci.quantity oi.price = ci.price # now using @property oi.product = ci.product oi.save() # all set, empty cart cart.empty_cart(request) # save profile info for future orders if request.user.is_authenticated(): from djecomstore.accounts import profile profile.set(request) return order
def order_info(request, template_name="registration/order_info.html"): if request.method == "POST": postdata = request.POST.copy() form = UserProfileForm(postdata) if form.is_valid(): profile.set(request) url = urlresolvers.reverse("my_account") return HttpResponseRedirect(url) else: user_profile = profile.retrieve(request) form = UserProfileForm(instance=user_profile) page_title = "Edit Order Information" return render_to_response(template_name, locals(), context_instance=RequestContext(request))