Update ModelFormSetView subclasses to use new factory_kwargs attribute.
Support for the old-style attributes was dropped in django-extra-views 0.11.
Also pin the version as the package does not use semantic versioning.
Fixes #2688.
Decouple price and availability in base strategies.
Revert changes in #1913 and #2294 that required a stock record to have price_excl_tax set in order to report the product as available.
Add separate checks to the basket form/add logic that checks at the time of
adding a product to the basket whether a price exists, and report an error if it doesn't.
Fixes #2664.
Add backward compatible order verification hash checking.
This can be enabled by specifying a `OSCAR_DEPRECATED_ORDER_VERIFY_KEY` setting, which is not set by default.
This allows projects to continue validating old order verification hashes while still changing the `SECRET_KEY`.
Distinguish active address fields definition and address hash generation in order to avoid hashing breaking when active address fields property is customized.
Fix `ExtendedURLValidator` for locale-prefixed URLs for locales, different the current.
Previously, validation did not pass when current locale is "en-gb" and URL is "/de/catalogue/" and visa versa due to default Django URL resolvers behaviour - they do not take into account all locales, only current.
- StockRecord.price_retail
- StockRecord.cost_price
- order.Line.est_dispatch_date
- order.Line.line_price_incl_tax
- order.Line.line_price_excl_tax
- order.Line.unit_cost_price
- order.Line.unit_retail_price
These fields are not used in Oscar core. Refs #1968.
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.