Esempio n. 1
0
def checkout(request):
    # TODO need to create email temaplates for managers and clients
    if cart.is_empty(request):
        return HttpResponseRedirect(urlresolvers.reverse('cart'))

    form = Checkout()
    if request.method == 'POST':
        form = Checkout(request.POST)
        if form.is_valid():
            checkout_form = form.save(commit=False)
            checkout_form.save()

            # manager's mail
            manager_message = ''
            manager_message_title = u'Новый заказ №:%s' % checkout_form.id
            for field in form.fields:
                if form.cleaned_data.get(field):
                    manager_message += "%s: %s\n" % (form.fields.get(field).label, form.cleaned_data.get(field))
            mail_managers(manager_message_title, manager_message)

            # clien's mail
            email = form.cleaned_data['email']
            if email:
                user_message = u'Спасибо за заказ.\n Номер заказа:%s' % checkout_form.id
                user_message_title = u'Спасибо за заказ'
                send_mail(user_message_title, user_message, u'Military shop', [email])

            items = cart.get_cart_items(request)
            for i in items:
                order = Order.objects.get(id=checkout_form.id)
                OrderedItems.objects.create(order=order , product=i.product, quantity=i.quantity, price=i.total())
            items.delete()

    cart_items = cart.get_cart_items(request)
    return {'cart_items': cart_items, 'form': form, 'cart_item_count': cart.distinct_item_count(request)}
Esempio n. 2
0
def show_cart(request):
    cart_items = cart.get_cart_items(request)
    cart_subtotal = cart.cart_subtotal(request)

    return {'cart_items': cart_items,
            'cart_subtotal': cart_subtotal,
            'cart_item_count': cart.distinct_item_count(request)}