Introduces the concept of a "feature" that can be hidden. A list of
features to hide can be supplied in OSCAR_HIDDEN_FEATURES.
Feature hiding is currently supported in two places.
Application instances can carry a "hidable_feature_name". If set and
found in OSCAR_HIDDEN_FEATURES, post_process_urls will return an empty
set of url patterns, hence disabling relevant views.
display_tags also has a new template block tag iffeature.
{% iffeature "feature" %}xxx{% endiffeature %} will hide everything
inside the block if the feature is hidden.
Added ability to customise decoration of view functions.
This uses a few new methods in oscar.core.application.Application which
enable custom decorators to be set for given view fns.
The main use case at the moment is to make it easy to ensure that
checkout is not available to non-logged-in users when
OSCAR_ALLOW_ANON_CHECKOUT is set to False.
Refactored product app to provide a ProductApplication which contains all the url patterns, this makes it possible to extend its functionality without requiring the import_modules trick. Using Django's existing get_model method where needed.
Refactored product app to provide a ProductApplication which contains all the url patterns, this makes it possible to extend its functionality without requiring the import_modules trick. Using Django's existing get_model method where needed.