Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: django-oscar/django-oscar
...
head fork: django-oscar/django-oscar
Checking mergeability… Don't worry, you can still create the pull request.
  • 6 commits
  • 7 files changed
  • 0 commit comments
  • 1 contributor
View
20 oscar/apps/basket/middleware.py
@@ -4,9 +4,11 @@
from django.core.exceptions import SuspiciousOperation
from django.db.models import get_model
-from oscar.core.loading import import_module
-import_module('offer.utils', ['Applicator'], locals())
-basket_model = get_model('basket', 'basket')
+from oscar.core.loading import get_class
+from oscar.apps.basket.abstract_models import OPEN
+
+Applicator = get_class('offer.utils', 'Applicator')
+Basket = get_model('basket', 'basket')
class BasketMiddleware(object):
@@ -18,7 +20,7 @@ def process_request(self, request):
request.basket = basket
def get_basket(self, request):
- manager = basket_model.open
+ manager = Basket.open
cookie_basket = self.get_cookie_basket(settings.OSCAR_BASKET_COOKIE_OPEN,
request, manager)
@@ -28,7 +30,7 @@ def get_basket(self, request):
# basket into their user basket, then delete the cookie
try:
basket, _ = manager.get_or_create(owner=request.user)
- except basket_model.MultipleObjectsReturned:
+ except Basket.MultipleObjectsReturned:
# Not sure quite how we end up here with multiple baskets
# We merge any them and create a fresh one
old_baskets = list(manager.filter(owner=request.user))
@@ -45,7 +47,7 @@ def get_basket(self, request):
else:
# Anonymous user with no basket - we don't save the basket until
# we need to.
- basket = basket_model()
+ basket = Basket()
return basket
def merge_baskets(self, master, slave):
@@ -57,7 +59,6 @@ def merge_baskets(self, master, slave):
master.merge(slave)
def process_response(self, request, response):
-
# Delete any surplus cookies
if hasattr(self, 'cookies_to_delete'):
for cookie_key in self.cookies_to_delete:
@@ -96,8 +97,9 @@ def get_cookie_basket(self, cookie_key, request, manager):
basket_id, basket_hash = parts
if basket_hash == self.get_basket_hash(basket_id):
try:
- basket = basket_model.objects.get(pk=basket_id, owner=None)
- except basket_model.DoesNotExist:
+ basket = Basket.objects.get(pk=basket_id, owner=None,
+ status=OPEN)
+ except Basket.DoesNotExist:
self.cookies_to_delete.append(cookie_key)
else:
self.cookies_to_delete.append(cookie_key)
View
20 oscar/apps/checkout/views.py
@@ -438,12 +438,17 @@ def place_order(self, order_number, basket, total_incl_tax, total_excl_tax, **kw
shipping_address = self.create_shipping_address()
shipping_method = self.get_shipping_method(basket)
billing_address = self.create_billing_address(shipping_address)
+
if 'status' not in kwargs:
status = self.get_initial_order_status(basket)
else:
status = kwargs.pop('status')
- if not self.request.user.is_authenticated():
+
+ # Set guest email address for anon checkout. Some libraries (eg
+ # PayPal) will pass this explicitly so we take care not to clobber.
+ if not self.request.user.is_authenticated() and 'guest_email' not in kwargs:
kwargs['guest_email'] = self.checkout_session.get_guest_email()
+
order = OrderCreator().place_order(basket=basket,
total_incl_tax=total_incl_tax,
total_excl_tax=total_excl_tax,
@@ -739,10 +744,17 @@ def submit(self, basket, **kwargs):
logger.error("Order #%s: payment error (%s)", order_number, msg)
self.restore_frozen_basket()
return self.render_to_response(self.get_context_data(error="A problem occurred processing payment."))
- else:
- # If all is ok with payment, place order
- logger.info("Order #%s: payment successful, placing order", order_number)
+
+ # If all is ok with payment, try and place order
+ logger.info("Order #%s: payment successful, placing order", order_number)
+ try:
return self.handle_order_placement(order_number, basket, total_incl_tax, total_excl_tax, **kwargs)
+ except UnableToPlaceOrder, e:
+ logger.warning("Order #%s: unable to place order - %s",
+ order_number, e)
+ msg = unicode(e)
+ self.restore_frozen_basket()
+ return self.render_to_response(self.get_context_data(error=msg))
def generate_order_number(self, basket):
generator = OrderNumberGenerator()
View
4 oscar/apps/order/exceptions.py
@@ -12,3 +12,7 @@ class InvalidLineStatus(InvalidStatus):
class InvalidShippingEvent(Exception):
pass
+
+
+class UnableToPlaceOrder(Exception):
+ pass
View
380 oscar/fixtures/sample-products.json
@@ -1 +1,379 @@
-[{"pk": 1, "model": "catalogue.productclass", "fields": {"options": [], "name": "DryGoods", "slug": "drygoods"}}, {"pk": 10, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Tetley's Cask 20oz Toughened Pint Glass (Pack of 24)", "date_updated": "2011-02-15 15:53:04", "upc": "074132", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:04", "slug": "tetleys-cask-20oz-toughened-pint-glass-pack-of-24"}}, {"pk": 4, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Carlsberg Bar Runner (Pack of 2)", "date_updated": "2011-02-15 15:53:03", "upc": "073729", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:03", "slug": "carlsberg-bar-runner-pack-of-2"}}, {"pk": 5, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Export Bar Runner (Pack of 2)", "date_updated": "2011-02-15 15:53:03", "upc": "073731", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:03", "slug": "export-bar-runner-pack-of-2"}}, {"pk": 6, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Tetley's Bar Runner (Pack of 2)", "date_updated": "2011-02-15 15:53:03", "upc": "073733", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:03", "slug": "tetleys-bar-runner-pack-of-2"}}, {"pk": 7, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Carlsberg Staff T-shirt (Pack of 5) ", "date_updated": "2011-02-15 15:53:03", "upc": "073850", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:03", "slug": "carlsberg-staff-t-shirt-pack-of-5"}}, {"pk": 8, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Carlsberg Waiter Tray (Pack of 5)", "date_updated": "2011-02-15 15:53:03", "upc": "073922", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:03", "slug": "carlsberg-waiter-tray-pack-of-5"}}, {"pk": 9, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Tetley's 20oz Toughened Pint Glass (Pack of 24)", "date_updated": "2011-02-15 15:53:03", "upc": "074127", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:03", "slug": "tetleys-20oz-toughened-pint-glass-pack-of-24"}}, {"pk": 1, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Carlsberg Golf Umbrella (Pack of 1)", "date_updated": "2011-02-15 15:53:02", "upc": "071216", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:02", "slug": "carlsberg-golf-umbrella-pack-of-1"}}, {"pk": 2, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Carlsberg Bunting - 5m (Pack of 2)", "date_updated": "2011-02-15 15:53:02", "upc": "072174", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:02", "slug": "carlsberg-bunting-5m-pack-of-2"}}, {"pk": 3, "model": "catalogue.product", "fields": {"description": null, "parent": null, "title": "Tetley's 22oz Toughened Pint Glass (Pack of 24)", "date_updated": "2011-02-15 15:53:02", "upc": "072261", "product_options": [], "product_class": 1, "date_created": "2011-02-15 15:53:02", "slug": "tetleys-22oz-toughened-pint-glass-pack-of-24"}}, {"pk": 1, "model": "partner.partner", "fields": {"name": "Prolog"}}, {"pk": 1, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 1, "num_allocated": 0, "partner_sku": "071216", "num_in_stock": 0, "partner": 1, "price_excl_tax": "14.00"}}, {"pk": 2, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 2, "num_allocated": 0, "partner_sku": "072174", "num_in_stock": 127, "partner": 1, "price_excl_tax": "7.32"}}, {"pk": 3, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 3, "num_allocated": 0, "partner_sku": "072261", "num_in_stock": 662, "partner": 1, "price_excl_tax": "13.82"}}, {"pk": 4, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 4, "num_allocated": 0, "partner_sku": "073729", "num_in_stock": 54, "partner": 1, "price_excl_tax": "8.00"}}, {"pk": 5, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 5, "num_allocated": 0, "partner_sku": "073731", "num_in_stock": 391, "partner": 1, "price_excl_tax": "8.00"}}, {"pk": 6, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 6, "num_allocated": 0, "partner_sku": "073733", "num_in_stock": 221, "partner": 1, "price_excl_tax": "8.00"}}, {"pk": 7, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 7, "num_allocated": 5, "partner_sku": "073850", "num_in_stock": 90, "partner": 1, "price_excl_tax": "13.90"}}, {"pk": 8, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 8, "num_allocated": 0, "partner_sku": "073922", "num_in_stock": 153, "partner": 1, "price_excl_tax": "6.99"}}, {"pk": 9, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 9, "num_allocated": 0, "partner_sku": "074127", "num_in_stock": 654, "partner": 1, "price_excl_tax": "13.76"}}, {"pk": 10, "model": "partner.stockrecord", "fields": {"price_currency": "GBP", "product": 10, "num_allocated": 5, "partner_sku": "074132", "num_in_stock": 38, "partner": 1, "price_excl_tax": "16.06"}}]
+[
+ {
+ "pk": 1,
+ "model": "catalogue.productclass",
+ "fields": {
+ "options": [],
+ "name": "DryGoods",
+ "slug": "drygoods"
+ }
+ },
+ {
+ "pk": 10,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Tetley's Cask 20oz Toughened Pint Glass (Pack of 24)",
+ "date_updated": "2011-02-15 15:53:04",
+ "upc": "074132",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:04",
+ "product_options": [],
+ "slug": "tetleys-cask-20oz-toughened-pint-glass-pack-of-24",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 4,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Carlsberg Bar Runner (Pack of 2)",
+ "date_updated": "2011-02-15 15:53:03",
+ "upc": "073729",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:03",
+ "product_options": [],
+ "slug": "carlsberg-bar-runner-pack-of-2",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 5,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Export Bar Runner (Pack of 2)",
+ "date_updated": "2011-02-15 15:53:03",
+ "upc": "073731",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:03",
+ "product_options": [],
+ "slug": "export-bar-runner-pack-of-2",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 6,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Tetley's Bar Runner (Pack of 2)",
+ "date_updated": "2011-02-15 15:53:03",
+ "upc": "073733",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:03",
+ "product_options": [],
+ "slug": "tetleys-bar-runner-pack-of-2",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 7,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Carlsberg Staff T-shirt (Pack of 5) ",
+ "date_updated": "2011-02-15 15:53:03",
+ "upc": "073850",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:03",
+ "product_options": [],
+ "slug": "carlsberg-staff-t-shirt-pack-of-5",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 8,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Carlsberg Waiter Tray (Pack of 5)",
+ "date_updated": "2011-02-15 15:53:03",
+ "upc": "073922",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:03",
+ "product_options": [],
+ "slug": "carlsberg-waiter-tray-pack-of-5",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 9,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Tetley's 20oz Toughened Pint Glass (Pack of 24)",
+ "date_updated": "2011-02-15 15:53:03",
+ "upc": "074127",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:03",
+ "product_options": [],
+ "slug": "tetleys-20oz-toughened-pint-glass-pack-of-24",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 1,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Carlsberg Golf Umbrella (Pack of 1)",
+ "date_updated": "2011-02-15 15:53:02",
+ "upc": "071216",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:02",
+ "product_options": [],
+ "slug": "carlsberg-golf-umbrella-pack-of-1",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 2,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Carlsberg Bunting - 5m (Pack of 2)",
+ "date_updated": "2011-02-15 15:53:02",
+ "upc": "072174",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:02",
+ "product_options": [],
+ "slug": "carlsberg-bunting-5m-pack-of-2",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 3,
+ "model": "catalogue.product",
+ "fields": {
+ "status": null,
+ "related_products": [],
+ "description": null,
+ "parent": null,
+ "title": "Tetley's 22oz Toughened Pint Glass (Pack of 24)",
+ "date_updated": "2011-02-15 15:53:02",
+ "upc": "072261",
+ "score": 0.0,
+ "date_created": "2011-02-15 15:53:02",
+ "product_options": [],
+ "slug": "tetleys-22oz-toughened-pint-glass-pack-of-24",
+ "product_class": 1
+ }
+ },
+ {
+ "pk": 1,
+ "model": "partner.partner",
+ "fields": {
+ "name": "Prolog",
+ "users": []
+ }
+ },
+ {
+ "pk": 1,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 1,
+ "partner_sku": "071216",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 0,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "14",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 2,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 2,
+ "partner_sku": "072174",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 127,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "7.32",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 3,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 3,
+ "partner_sku": "072261",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 662,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "13.82",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 4,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 4,
+ "partner_sku": "073729",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 54,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "8",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 5,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 5,
+ "partner_sku": "073731",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 391,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "8",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 6,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 6,
+ "partner_sku": "073733",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 221,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "8",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 7,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 7,
+ "partner_sku": "073850",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 90,
+ "num_allocated": 5,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "13.9",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 8,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 8,
+ "partner_sku": "073922",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 153,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "6.99",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 9,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 9,
+ "partner_sku": "074127",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 654,
+ "num_allocated": 0,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "13.76",
+ "cost_price": null
+ }
+ },
+ {
+ "pk": 10,
+ "model": "partner.stockrecord",
+ "fields": {
+ "price_currency": "GBP",
+ "product": 10,
+ "partner_sku": "074132",
+ "price_retail": null,
+ "date_updated": "2012-04-13 17:58:31",
+ "num_in_stock": 38,
+ "num_allocated": 5,
+ "low_stock_threshold": null,
+ "date_created": "2012-04-13 17:58:31",
+ "partner": 1,
+ "price_excl_tax": "16.06",
+ "cost_price": null
+ }
+ }
+]
View
64 oscar/templates/checkout/checkout.html
@@ -15,34 +15,36 @@
{% block content %}
<div class="row-fluid">
- {% block shipping_address %}
- <div class="span6">
- <div class="sub-header">
- <h2>Shipping address</h2>
- </div>
- <div class="well well-info">
- <dl>
- <dt>Address</dt>
- <dd>
- {% for field in shipping_address.active_address_fields %}
- {{ field }}<br/>
- {% endfor %}
- </dd>
- {% if shipping_address.phone_number %}
- <dt>Contact number</dt>
- <dd>{{ shipping_addr.phone_number }}</dd>
- {% endif %}
- {% if shipping_address.notes %}
- <dt>Shipping notes</dt>
- <dd>{{ shipping_addr.notes }}</dd>
- {% endif %}
- </dl>
- <div class="alert-actions">
- <a href="{% url checkout:shipping-address %}" class="btn">Change shipping address</a>
- </div>
- </div>
- </div>
- {% endblock shipping_address %}
+ {% block shipping_address %}
+ <div class="span6">
+ <div class="sub-header">
+ <h2>Shipping address</h2>
+ </div>
+ <div class="well well-info">
+ <dl>
+ <dt>Address</dt>
+ <dd>
+ {% for field in shipping_address.active_address_fields %}
+ {{ field }}<br/>
+ {% endfor %}
+ </dd>
+ {% if shipping_address.phone_number %}
+ <dt>Contact number</dt>
+ <dd>{{ shipping_addr.phone_number }}</dd>
+ {% endif %}
+ {% if shipping_address.notes %}
+ <dt>Shipping notes</dt>
+ <dd>{{ shipping_addr.notes }}</dd>
+ {% endif %}
+ </dl>
+ {% block shipping_address_actions %}
+ <div class="alert-actions">
+ <a href="{% url checkout:shipping-address %}" class="btn">Change shipping address</a>
+ </div>
+ {% endblock %}
+ </div>
+ </div>
+ {% endblock shipping_address %}
{% block payment_method %}
<div class="span6">
@@ -61,8 +63,8 @@
</dd>
</dl>
<div class="alert-actions">
- <a href="/checkout/payment-details/" class="btn">Change credit card details</a>
- </div>
+ <a href="/checkout/payment-details/" class="btn">Change credit card details</a>
+ </div>
</div>
</div>
{% endblock payment_method %}
@@ -136,9 +138,11 @@ <h3 class="span11">Order total:</h3>
<h3 class="span1">{{ order_total_incl_tax|currency }}</h3>
</div>
</div>
+ {% block order_contents_actions %}
<div class="form-actions">
<a href="{% url basket:summary %}" class="btn">Edit order contents</a>
</div>
+ {% endblock %}
{% endblock order_contents %}
View
2  setup.py
@@ -25,7 +25,7 @@
packages=find_packages(exclude=["*.tests"]),
include_package_data = True,
install_requires=[
- 'django==1.3.1',
+ 'django>=1.3.1',
'PIL',
'South>=0.7.3',
'django-extra-views>=0.1.0',
View
2  testing-reqs.txt
@@ -2,7 +2,7 @@ PyZen==0.3.1
Sphinx==1.1.2
Werkzeug==0.6.2
coverage==3.5.1
-django-debug-toolbar==0.8.4
+django-debug-toolbar==0.9.4
django-dynamic-fixture==1.4.2
django-extensions==0.5
docutils==0.8.1

No commit comments for this range

Something went wrong with that request. Please try again.