Exemplo n.º 1
0
 def dispatch(self, request, *args, **kwargs):	
     # check if cart is empty
     if cart.is_empty(self.request):			#Works!
       cart_url = urlresolvers.reverse('show_cart')
       return HttpResponseRedirect(cart_url)
     else:
         return super(orderCreate, self).dispatch(request, *args, **kwargs)
Exemplo n.º 2
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)}