dancerfly / django-brambling

Event website manager, specifically designed for dance weekends or other events with multiple simultaneous tracks of classes.
BSD 3-Clause "New" or "Revised" License
11 stars 3 forks source link

Make item options a required field when creating discounts #819

Closed harrislapiroff closed 5 years ago

harrislapiroff commented 8 years ago

Discounts must have item options to be listed in order to have any effect, since they only apply to specific items. However, Dancerfly doesn't require discounts to list item options in the form. This leads to confusing behavior where an organizer creates a discount, doesn't list any item options, and then is totally baffled by why it isn't working. I see two plausible solutions. (1) will be faster to implement, but (2) is my preferred solution. Maybe we should fix it in two phases?

  1. Don't allow the creation of discounts without item options or tag them with a warning when no item options are specified.
  2. Discounts that have no item options specified apply to the entire cart. We should probably also explicitly describe this behavior on the form. Additionally, because this would technically be a breaking change (currently useless discounts would suddenly apply to entire carts) we might want a feature flag for it so we could keep existing events on the old behavior.
harrislapiroff commented 7 years ago

I think probably we should just do 1 when we reach this ticket, but I defer to @melinath.

melinath commented 5 years ago

Yes, I agree we should just do the first one. I think the second would be more complicated and the benefit is less clear.

melinath commented 5 years ago

It looks like this is already a required field.