Oscar is in production at major companies, and has proven itself in all
kinds of scenarios. It's time the version number acknowledges that.
This means there never will be a 0.8 final release; only betas were
released as 0.8 version.
This commit removes a few long deprecated bits in the docs and in
code. It also updates the
release notes to include those removals, and highlights what has been
deprecated in 0.8. And it fixes a Sphinx warning when building the docs.
Changes include:
- New section on organisation
- General moving round of sections, especially around backwards
incompatibilities
- Various copy changes
Since Tangent are no longer sponsoring Oscar (at least not to the extend
as previously), it makes sense for the call-home pixel to be controlled
by the new Oscar organisation rather than Tangent. Hence we change the
domain to point to a new server.
Note, the analytics.oscarcommerce.com domain doesn't resolve right now
as the oscarcommerce.com domain is being transferred and I can't add new
records. This should be resolved within the next week or so.
Fixes #1547
Explicitly pass the billing address around checkout
This changeset adjusts `build_submission` to include the billing address.
This also requires changes to a few method signatures to handle the
billing address explicitly.
This only works when the billing address is stored in the session (as
that's where it is looked up from when building the submission data in
`build_submission`). In many cases (such as Oscar's demo site), we don't
store the billing address in the session - instead, it is captured via
the payment-details forms. Hence, the billing address will still need to
be explicitly set within the submission data.
Fixes #1508
Use template egg loader when running the test suite
We wrongly had django-tables2 in the requirements.txt; it was removed
from 4af10d9. This means it was now only installed as an egg. As the
test suite relies on a template from tables2, the test suite
consequently was failing.
Adding the egg loader to the test suite config fixes the problem.
During many payment flows, the user is able to cancel the process.
This should often be treated differently from a payment error,
e.g. it might not be appropriate to offer to retry the payment.
This exception adds gives us a good way to address that case.
Closes #1528.
Pin everything in requirements.txt to latest versions
Having version ranges seems nice in theory but can be the cause of
untold strange issues and conflicts. It's simpler and easier to pin
everything so everyone's virtualenv is the same.
Fix bug with country field in shipping address form
Before this change, if you submitted a shipping address then navigated
back to the shipping address page, the selected country was lost. It's
possible this has been an issue for a while as the sandbox used to
default to only one shipping country which meant the country field was
removed.
The fix was to convert the country_id into a Country instance when
building the initial data for the form.
When working in the sandbox, placing an order would fail as it would try
and use the same number as that of the fixture order. This change works
around that by using a higher order number for the fixture order.
Without this you can't modify `FacetMunger`'s constructor.
Conflicts:
oscar/apps/search/search_handlers.py
Closes #1536.
@maikhoepfel added PEP8 fixes for the search app.
Import models module instead of relying on import_models()
After feedback from @aaugustin, the fix for the Django 1.7 model loading
regression (done in 51a0859) can still interfere with the process. The
clean approach is to emulate importing the models file.
The code was provided from @aaugustin; I merely tested it still fixes
the issue and fiddled with the comments to appease the gods of PEP8.
Since the recommended way to override models within an app is to add
‘from oscar.apps.order.models import *’ we need to limit what is
exported otherwise subtle bugs may occur in the users code.
Simply defining __all__ [‘Model1’, ‘Model2’] doesn’t work since Django
will raise an AppRegistryNotReady exception for all models listed in
the __all__ list but are not available. Dynamically building the list
solves this.
Fix cursor:pointer for labels on dashboard statistics
The totals displayed on the store statistics are <label> elements, which
causes a mouse cursor suggesting they're clickable. This commit fixes
that.
@maikhoepfel rebuilt the CSS with less 1.7.5. Annoyingly, even without
this change, all the sourcemap files were updated by that. No idea why.
Closes #1526.
A Travis CI bot automatically extracts the source strings and pushes
them to Transifex. Previously, this bot also pushed translations, which
does not make sense, as the translations are made at Transifex.
Surprisingly, this didn't seem to cause much trouble - my best guess is
that Transifex respects modification times and ignored the pushed
translations. It certainly does so for source files.
But @mvantellingen reported that Dutch source files were overwritten. I
just did a manual push of only source files, and the Transifex UI still
shows all languages as updated. It makes sense as the source strings
changed, but makes me wonder if Michael saw actual overwrites.
Either way, pushing translations was the wrong thing to do. And as
nothing should go wrong with the English source file, I removed the skip
flag.
I intent to re-enable the bot once we've released 0.8.
A bugfix release for 1.7 was released which contains many migration
fixes. Also bumped the minimum 1.6 version as we were already lagging
two releases behind.