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.
Move order lines aggregation in dashboard order detail view to the separate method.
This will simplify to filter out order lines, based on partner permission, without rewritting view code. By default, partners see all lines of the order, without respect whether lines were supplied by them or not.
Which may not always be the case, when we need partner to see only own lines.
* 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
* Document how to customize dashboard forms. Thanks @okfish for providing instruction.
* Fix documentation for `OSCAR_INITIAL_LINE_STATUS`.
Setting value should be defained in the `OSCAR_LINE_STATUS_PIPELINE`, not `OSCAR_ORDER_STATUS_PIPELINE`.
- 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.
* Add note about ``get_default_shipping_method`` shipping repository method to the documentation.
* Add note how to add custom node to the dashboard navigation with non-dashboard URLconf.
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.