def order_info(request, template_name="registration/order_info.djhtml"): if request.method == 'POST': postdata = request.POST.copy() form = UserProfileForm(postdata) if form.is_valid(): profile.fill(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(request, template_name, locals())
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.fill(request) url = reverse('accounts:my_account') return HttpResponseRedirect(url) else: user_profile = profile.retrieve(request) form = UserProfileForm(instance=user_profile) page_title = 'Edit Order Information' return render(request, template_name, locals())
def create_order(request): order = Order() checkout_form = CheckoutForm(request.POST, instance=order) order = checkout_form.save(commit=False) 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.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 accounts import profile profile.fill(request) # mail the managers mail_manager_subject = '{0} has been placed!'.format(order) mail_manager_message = '{0} has been placed by {1}.\n\nClick here: {2}'.format( order, order.user if order.user else 'anonymous', request.build_absolute_uri( reverse('admin:checkout_order_change', args=(order.pk, )))) mail_managers(mail_manager_subject, mail_manager_message) # mail the customer if order.email: # FIXME: someday make templates for these emails mail_customer_subject = 'Thank you for placing {0}!'.format(order.name) mail_customer_message = '{0} was placed by you. Click here for more details: {1}\n\nThank you for your order!\n\n{2}'.format( order.name, request.build_absolute_uri(order.get_absolute_url()), settings.SITE_NAME) send_mail(mail_customer_subject, mail_customer_message, settings.DEFAULT_FROM_EMAIL, [order.email]) # return the new order object return order
def create_order(request): order = Order() checkout_form = CheckoutForm(request.POST, instance=order) order = checkout_form.save(commit=False) 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.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 accounts import profile profile.fill(request) # mail the managers mail_manager_subject = '{0} has been placed!'.format(order) mail_manager_message = '{0} has been placed by {1}.\n\nClick here: {2}'.format(order, order.user if order.user else 'anonymous', request.build_absolute_uri(reverse('admin:checkout_order_change', args=(order.pk,)))) mail_managers(mail_manager_subject, mail_manager_message) # mail the customer if order.email: # FIXME: someday make templates for these emails mail_customer_subject = 'Thank you for placing {0}!'.format(order.name) mail_customer_message = '{0} was placed by you. Click here for more details: {1}\n\nThank you for your order!\n\n{2}'.format(order.name, request.build_absolute_uri(order.get_absolute_url()), settings.SITE_NAME) send_mail(mail_customer_subject, mail_customer_message, settings.DEFAULT_FROM_EMAIL, [order.email]) # return the new order object return order