Fix URL character validation in dashboard PageUpdateForm.
Also fix the max_length on the url field. The underlying model field has
a max_length of 100, so it is invalid to have a larger value here.
DRY out dashboard page update/create views.
Refactor tests - perform tests of form logic directly rather than indirectly through view code.
Fixes #2559.
Added hook to allow implementations of strategies that depend on productoptions (#2523)
* Added hook to allow implementations of strategies that depend on productoptions
Currently when I need to implement a price strategy that has price
components that are dependent on product options, a rather large part of the
basket code needs to be copy pasted, the whole of ``add_product``. The hook
added here allows me to only override the hook.
Some use cases are: Pens with engravings, the price of engraving depends on
the number of letters. But a lot more things open up when prices can be
assigned based on product configuration.
* flesh-out initial opaque data-model
refactors the basket line consumption into a facade object.
the goals is accomodating combitions of various offers on the same basket-lines,
while remaining backward compatible with the current single offer per line
policy.
* add docstrings
* add exclusive flag to conditionaloffer model and continue refactoring
* test new offer consumption on basket view
* cleanups
* fix exclusivity
* code style
* add cast to pacify tests
* spelling
* add some documentation to the release notes
* move documentation to new 1.6 release docs
- Remove outdated material relating to old versions of Django
- State that Oscar assumes that the email field is unique
- Update a number of links to Django documentation.
- Minor fixes to other bits of documentation.
Switch to using Django's password validation framework in Django >=1.9
Django 1.9 introduced the AUTH_PASSWORD_VALIDATORS setting which allows for
more flexible password validation. Switch to using that when it is available,
with a fallback to Oscar's previous behaviour in Django 1.8 or when this
setting is empty.
Remove shortcuts filters for order list in the dashboard in order to support filtering by all order search form fields based on provided querystring parameters.
Upon implementing previous commit, my changes weren't picked up because
Oscar served the SimpleAddToBasketForm. If a user wants to implement
changes in both forms (which is more likely than it is not), the
previous structure meant they had to be duplicated or mixed in. Now, for
most changes, SimpleAddToBasketForm can be ignored.