Implement ArtworkItem.available()
Treat dynamically priced products differently
Always return two decimal places
Add-to-basket view and basket object to templates
Decimal is not json-serializable in basket line attributes
add related name for detail.html template
get add to cart working