Django 1.6 renders URLInput as <input type=url>, which causes some
browsers to require the input to be a valid absolute URL. As relative
URLS are allowed for ExtendedURLField, we must set it to TextInput.
Fixes #1092
Use a custom widget to show unavailable variants in dropdown
We define a custom select widget which allows certain choices to be
marked as disabled. We use this to include unavailable variants in the
add-to-basket dropdown.
The entire image handling in the dashboard isn't very pretty. But at
least we're not using full-size images for this.
We also can't assume that just prepending MEDIA_URL is the correct URL
for every image (e.g. not when using S3 backends). Passing it through
Sorl gets us the correct URL for free.