Moved description of what is required of MIDDLEWARE_CLASSES into a single location in the document for easier reference. It appears that BasketMiddleware is easy to miss. I missed it and someone else on the mailing list had the same error.
Issue #1191 highlighted some confusion around the structure of static
files in Oscar. It's been marginally improved to hopefully clarify the
intentions.
The BooleanField is not used in Oscar core, and not commonly required.
The through-model ProductCategory is empty apart from the two
ForeignKeys, but left in place to allow customising.
It looks like 0.6 was missing some translation files due to a bug in the
Transifex client which was tricked by local timestamps and skipping some
translation files:
https://github.com/transifex/transifex-client/issues/22
We need to remember to use `tx pull -af` next time to force the download
of .po files.
Ticket #1127 correctly mentioned that we can't use Django's
get_user_model to register signals:
https://docs.djangoproject.com/en/1.6/topics/auth/customizing/#custom-users-and-signals
This commit rewrites the affected migrate_alerts_to_user receiver to
just happen in Oscar's AbstractUser save() method. This works upwards of
Django 1.4. For Django 1.4, a receiver must be manually registered to
the correct User model.
Introduce text and HTML representations for product attribute values
Oscar previously did neither do anything special for e.g. image
attributes or richtext attributes, nor provide hooks for doing so.
value_as_text and value_as_html properties have been introduced which
allow customising the output. Whereas the handling of the different
types is still lacking (e.g. the image type definitely needs special
handling), it is much easier to add support for that now. Adding them
has been pushed to a later date and is tracked in #1152.
Fixes #1149.
Change type and name of basket field on AbstractOrder
It used to be a PositiveIntegerField containing the primary key of the
basket. This was a minor design deficiency; a nullable ForeignKey field
seems like the correct way to model that relation.
It's also been renamed from basket_id to basket to reflect the change.
Migrations unfortunately are non-trivial:
* 0019 adds the new ForeignKey field, but called basket_alt
* 0020 migrates data from the old field to the new field
* 0021 drops the now unnecessary field basket_id
* 0022 renames the basket_alt field to basket
The additional step with naming it basket_alt is necessary because of a
column name conflict. Django will pick a column name of 'basket_id' for
a ForeignKey field named 'basket', which is the same column name the
old PositiveIntegerField had.
Fixes #912
Configure settings for docs using test function (not sandbox)
This avoids a pesky autodoc import issue that the debug toolbar creates when it
patches the URL conf. It was preventing the EventHandler class from
being loaded via autodoc. This fix solves that issue.