A dictionary that specifies the facets to use with the search backend. It
needs to be a dict with keys fields and queries for field- and
query-type facets. The default is:

OSCAR_SEARCH_FACETS={'fields':{# The key for these dicts will be used when passing facet data# to the template. Same for the 'queries' dict below.'category':{'name':_('Category'),'field':'category'}},'queries':{'price_range':{'name':_('Price range'),'field':'price','queries':[# This is a list of (name, query) tuples where the name will# be displayed on the front-end.(_('0 to 40'),'[0 TO 20]'),(_('20 to 40'),'[20 TO 40]'),(_('40 to 60'),'[40 TO 60]'),(_('60+'),'[60 TO *]'),]}}}

OSCAR_DASHBOARD_NAVIGATION allows passing an access function for each node
which is used to determine whether to show the node for a specific user or not.
If no access function is defined, the function specified here is used.
The default function integrates with the permission-based dashboard and shows
the node if the user will be able to access it. That should be sufficient for
most cases.

The pipeline defines the statuses that an order or line item can have and what
transitions are allowed in any given status. The pipeline is defined as a
dictionary where the keys are the available statuses. Allowed transitions are
defined as iterable values for the corresponding status.

A sample pipeline (as used in the Oscar sandbox) might look like this:

This defines a mapping of status changes for order lines which ‘cascade’ down
from an order status change.

For example:

OSCAR_ORDER_STATUS_CASCADE={'Being processed':'In progress'}

With this mapping, when an order has it’s status set to ‘Being processed’, all
lines within it have their status set to ‘In progress’. In a sense, the status
change cascades down to the related objects.

Note that this cascade ignores restrictions from the
OSCAR_LINE_STATUS_PIPELINE.

This enables sending alert notifications/emails instantly when products get
back in stock by listening to stock record update signals this might impact
performance for large numbers stock record updates.
Alternatively, the management command oscar_send_alerts can be used to
run periodically, e.g. as a cronjob. In this case instant alerts should be
disabled.

A function which takes a product as its sole parameter and returns a boolean
indicating if the product is blacklisted from offers or not.

Example:

fromdecimalimportDecimalasDdefis_expensive(product):ifproduct.has_stockrecord:returnproduct.stockrecord.price_incl_tax>D('1000.00')returnFalse# Don't allow expensive products to be in offersOSCAR_OFFER_BLACKLIST_PRODUCT=is_expensive

A dictionary to map strings to more readable versions for including in URL
slugs. This mapping is appled before the slugify function.
This is useful when names contain characters which would normally be
stripped. For instance: