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
This is to enable some coarse metrics of who is using Oscar. We just
look at the referer header to get a rough idea of which sites are using
Oscar.
This is an important measure for Tangent, Oscar's sponsor. It's
documented in the release notes and we'll make sure everyone knows when
Oscar is released. It's easy to opt out of.
Fixes #656
Remove unused AbstractProductImage properties for thumbnailing
Images are resized on the template level with Sorl, so having
those properties only leads to confusion. They were not used by stock
Oscar. Furthermore, thumbnail_url returned the full-size image URL,
which is wrong.
Fixes #1011
bootstrap-wysihtml5 was too buggy. I was trying to avoid TinyMCE but it ended up
being the easier to use. I tried with CKEditor but it proved too
difficult to configure.
Fixes #757
Fixes #946
Fixes #945
Fixes #944
Adjust how shipping methods are handled in the repository class
The old Repository class wasn't thread safe as the method instances were
created at compile time. Since the instance is configured by setting
the basket for each request, this poses thread safety issues as two
requests could share the same method instance (one of which would have
the wrong basket assigned).
This change fiddles with how the methods are handled, ensuring that they
are instanciated within the instance methods so that thread-safety
issues go away.
Shipping methods need a gentle rewrite for v0.7 to ensure they aren't
vulnerable to such issues.
- make sure all pages are linked from somewhere
- prohibit double indexing of source code modules
- remove old unused offers (we use GIT, no need to keep old files)
- use local version of Oscar logo
Fixes #921
Delete unused fields on [Shipping|Payment]EventType
is_required and sequence_number are removed. That also makes the unused
get_prerequisites function obsolete.
Those fields were added with the idea that those event flows are linear,
but all implementations assume a non-linear pattern.
is_highlighted is now an integer and works similar to the common
"ordering" fields. The higher the number, the higher the country will be
moved up in the list.
Fixes #720, #725
Filenames can easily get longer than 100 characters, and that causes
Django to fail hard (I think with a DatabaseError), because it's
currently not validated (see Django #11027)
This fix increases the character limit to 255 chars. Going much higer
can cause trouble with MySQL.
Fixes #625. Thanks for reporting go to @soloweb.