* Our version of the debug toolbar threw an error, so let's bump to the
latest release.
* django-nose only has an unreleased version with Django 1.8 support.
I'm fully in favour of replacing it with pytest, but think it should
happen outside of this PR. Ping @mvantellingen.
* The latest tables2 apparently contains some Django 1.8 fixes.
Unfortunately it still breaks, but it's a step forward.
This removes all the bits and bobs where we referenced South, or added
some code supporting it. Documentation will be updated in a later
commit, together with other Django changes.
I was having some issues with the tests not running. They were unrelated
to this change, but one thing I investigated. Might as well commit the
changes, as we get to move back to a proper release of django-nose.
Use pip instead of easy_install for "make install"
This should have multiple advantages:
- We're not mixing eggs with the flat installs from pip
- Given a reasonably current pip, we can take advantage of wheels
- Using pip for both allows for easier reasoning about dependencies
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.
pysolr 3.2 has been released. This commit removes the workaround we had
to do to get pysolr 3.1 not failing loudly on Solr 4 error messages.
Instead, we warn the user, and document that one needs to ugprade.
As 2.0.12 introduces a new feature which is used by an Oscar test.
We should really pin all these dependencies as using ranges is just
asking for trouble. I'll do that soon.
They are both used in oscar.test, which means it's "public Oscar API".
Deployments might rely on e.g. the factories for their own test suite,
so all needed dependencies need to be installed as part of Oscar.
factory-boy 2.4 brings some nice, but breaking API changes.
The missing dependencies were discovered when working on
django-oscar-datacash, where some of the old-style factories are used,
but newfactories gets imported into that namespace.
Motivated by 51bf7280, this change adds a new make target to find parts
of the codebase that need changing after some event has happened. It
also adds an example TODO.
flake8: ignore new migrations directories and fix warnings
Fixing the warnings also highlighted a bug where the shipping
models weren't checking if they're registered already, which would've
prevented overriding them.
Also bumps the flake8 version because it's considerably faster
(multiprocessing!) and contains Python 3.4 fixes.
Replace countries.json fixture by management command
I started looking at this because on the mailing list, having the UK as
only shipping country led to confusion. This is mostly due to the
shipping address form hiding the country field if there's only one
country enabled, but all the validation then requiring UK postcodes and
phone numbers.
It's bothered me for a while that we're using a fixture to populate the
countries, which is at risk of becoming stale.
pycountry offers an excellent data source for a list of countries, so I
polished an existing management command to use it to populate the
country database.
This commit has two immediate effects:
* New setups will use a more current country database
* By default, all countries will be marked as shipping countries
pycountry also ships with localised names of the countries, which should
allow us to populate the database with localised country names.