At first glance this seems like a pretty good approach.

On Sunday, November 16, 2014 9:56:11 PM UTC-7, Alex Hill wrote:
>
> Hi all,
>
> Currently discounts, tax and shipping are all dealt with in their own 
> separate handlers, and handled slightly differently from one another. I'd 
> like to unify these into a more flexible system of "cart processors", 
> objects which provide methods to modify the entire cart and each line item. 
> Whenever the cart is modified, the line items and cart totals are 
> recalculated by calling each of the cart processors in sequence. Think of 
> it like middleware for shopping carts.
>
> A new setting would be introduced to define the list of processors that 
> should be run.
>
> The main point of this is to make it easier to define your own discount 
> systems - cases like "free shipping for orders over $50" or "buy any two of 
> this group of products and get a third free" or "registered users get 10% 
> off" can't be implemented using the current discount system, and defining 
> your own is pretty messy. If tax and shipping can be implemented under a 
> system like this, it should simplify Cartridge's code in a few places as 
> well.
>
> django-shop implements this as "cart modifiers" – check out the API at 
> https://github.com/divio/django-shop/blob/master/shop/cart/cart_modifiers_base.py
> .
>
> Looking for general feedback, use cases, and any concerns or issues anyone 
> can see with a system like this.
>
> Cheers,
> Alex
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mezzanine-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to